diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/nbt_memory_usage/CompoundTag1Mixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/nbt_memory_usage/CompoundTag1Mixin.java deleted file mode 100644 index 8034f856..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/nbt_memory_usage/CompoundTag1Mixin.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.embeddedt.modernfix.common.mixin.perf.nbt_memory_usage; - -import net.minecraft.nbt.Tag; -import org.embeddedt.modernfix.util.CanonizingStringMap; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyVariable; - -import java.util.Map; - -@Mixin(targets = "net/minecraft/nbt/CompoundTag$1") -public class CompoundTag1Mixin { - @ModifyVariable(method = "load(Ljava/io/DataInput;ILnet/minecraft/nbt/NbtAccounter;)Lnet/minecraft/nbt/CompoundTag;", at = @At(value = "INVOKE_ASSIGN", target = "Lcom/google/common/collect/Maps;newHashMap()Ljava/util/HashMap;", remap = false)) - private Map modifyMap(Map map) { - CanonizingStringMap newMap = new CanonizingStringMap<>(); - if(map != null) - newMap.putAll(map); - return newMap; - } -} \ No newline at end of file diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/nbt_memory_usage/CompoundTagMixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/nbt_memory_usage/CompoundTagMixin.java deleted file mode 100644 index 274af319..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/nbt_memory_usage/CompoundTagMixin.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.embeddedt.modernfix.common.mixin.perf.nbt_memory_usage; - -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.Tag; -import org.embeddedt.modernfix.util.CanonizingStringMap; -import org.spongepowered.asm.mixin.*; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyArg; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import java.util.Map; - -@Mixin(CompoundTag.class) -public class CompoundTagMixin { - @Shadow @Final - private Map tags; - - /** - * Ensure that the default backing map is a CanonizingStringMap. - */ - @ModifyArg(method = "()V", at = @At(value = "INVOKE", target = "Lnet/minecraft/nbt/CompoundTag;(Ljava/util/Map;)V"), index = 0) - private static Map useCanonizingStringMap(Map incoming) { - CanonizingStringMap newMap = new CanonizingStringMap<>(); - if(incoming != null) - newMap.putAll(incoming); - return newMap; - } - - /** - * @author embeddedt - * @reason use more efficient method when copying canonizing string map - */ - @Inject(method = "copy()Lnet/minecraft/nbt/CompoundTag;", at = @At("HEAD"), cancellable = true) - public void copyEfficient(CallbackInfoReturnable cir) { - if(this.tags instanceof CanonizingStringMap) { - cir.setReturnValue(new CompoundTag(CanonizingStringMap.deepCopy((CanonizingStringMap)this.tags, Tag::copy))); - } - } -}