diff --git a/src/main/java/org/embeddedt/modernfix/common/mixin/perf/state_definition_construct/StateDefinitionMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/state_definition_construct/StateDefinitionMixin.java deleted file mode 100644 index b24ed70d..00000000 --- a/src/main/java/org/embeddedt/modernfix/common/mixin/perf/state_definition_construct/StateDefinitionMixin.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.embeddedt.modernfix.common.mixin.perf.state_definition_construct; - -import com.google.common.collect.ImmutableSortedMap; -import net.minecraft.world.level.block.state.StateDefinition; -import net.minecraft.world.level.block.state.StateHolder; -import net.minecraft.world.level.block.state.properties.Property; -import org.embeddedt.modernfix.annotation.RequiresMod; -import org.embeddedt.modernfix.blockstate.FakeStateMap; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyVariable; - -import java.util.Map; - -// This optimization requires FerriteCore to be worthwhile, otherwise the FakeStateMap degrades to hash internally -@Mixin(StateDefinition.class) -@RequiresMod("ferritecore") -public class StateDefinitionMixin> { - @Shadow @Final private ImmutableSortedMap> propertiesByName; - - /** - * @author embeddedt - * @reason write states into a custom array map for fast iteration by FerriteCore, no need to waste time hashing - * and growing - */ - @ModifyVariable(method = "", at = @At(value = "STORE", ordinal = 0), ordinal = 1, index = 8) - private Map, Comparable>, S> useArrayMap(Map, Comparable>, S> in) { - int numStates = 1; - for(Property prop : this.propertiesByName.values()) { - numStates *= prop.getPossibleValues().size(); - } - return new FakeStateMap<>(numStates); - } -}