From 353f65dbe4d7bb81a2436184328385b02e9f93b9 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Thu, 17 Mar 2022 15:47:16 +0100 Subject: [PATCH] StatList --- .../endlessids/asm/ClassEdit.java | 3 +-- .../asm/transformer/VanillaStatList.java | 19 ------------------- .../mixin/mixins/common/StatListMixin.java | 16 ++++++++++++++++ .../endlessids/mixin/plugin/Mixin.java | 1 + 4 files changed, 18 insertions(+), 21 deletions(-) delete mode 100644 src/main/java/com/falsepattern/endlessids/asm/transformer/VanillaStatList.java create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/StatListMixin.java diff --git a/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java b/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java index c78c8c0..6118676 100644 --- a/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java +++ b/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java @@ -15,14 +15,13 @@ import com.falsepattern.endlessids.asm.transformer.VanillaS24PacketBlockActivati import com.falsepattern.endlessids.asm.transformer.VanillaS22PacketMultiBlockChange; import com.falsepattern.endlessids.asm.transformer.VanillaNetHandlerPlayClient; import com.falsepattern.endlessids.asm.transformer.VanillaDataWatcher; -import com.falsepattern.endlessids.asm.transformer.VanillaStatList; import java.util.Map; public enum ClassEdit { //SelfHooks(new SelfHooks(), new String[] { "com.falsepattern.endlessids.Hooks" }), //VanillaBlockFire(new VanillaBlockFire(), new String[] { "net.minecraft.block.BlockFire" }), - VanillaStatList(new VanillaStatList(), new String[] { "net.minecraft.stats.StatList" }), + //VanillaStatList(new VanillaStatList(), new String[] { "net.minecraft.stats.StatList" }), //VanillaAnvilChunkLoader(new VanillaAnvilChunkLoader(), new String[] { "net.minecraft.world.chunk.storage.AnvilChunkLoader" }), //VanillaChunk(new VanillaChunk(), new String[] { "net.minecraft.world.chunk.Chunk" }), //VanillaExtendedBlockStorage(new VanillaExtendedBlockStorage(), new String[] { "net.minecraft.world.chunk.storage.ExtendedBlockStorage" }), diff --git a/src/main/java/com/falsepattern/endlessids/asm/transformer/VanillaStatList.java b/src/main/java/com/falsepattern/endlessids/asm/transformer/VanillaStatList.java deleted file mode 100644 index 6b1fb2a..0000000 --- a/src/main/java/com/falsepattern/endlessids/asm/transformer/VanillaStatList.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.falsepattern.endlessids.asm.transformer; - -import org.objectweb.asm.tree.MethodNode; -import com.falsepattern.endlessids.asm.AsmUtil; -import org.objectweb.asm.tree.ClassNode; -import com.falsepattern.endlessids.asm.IClassNodeTransformer; - -public class VanillaStatList implements IClassNodeTransformer -{ - public VanillaStatList() { - super(); - } - - @Override - public void transform(final ClassNode cn, final boolean obfuscated) { - final MethodNode method = AsmUtil.findMethod(cn, ""); - AsmUtil.transformInlinedSizeMethod(cn, method, 4096, 32768, false); - } -} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/StatListMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/StatListMixin.java new file mode 100644 index 0000000..47eed46 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/StatListMixin.java @@ -0,0 +1,16 @@ +package com.falsepattern.endlessids.mixin.mixins.common; + +import net.minecraft.stats.StatList; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +@Mixin(StatList.class) +public abstract class StatListMixin { + @ModifyConstant(method = "", + constant = @Constant(intValue = 4096), + require = 1) + private static int modifyMineBlockStatArraySize(int constant) { + return 32768; + } +} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java index de8effc..adba610 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -9,6 +9,7 @@ import java.util.Set; public enum Mixin { AnvilChunkLoaderMixin(builder(Side.COMMON).mixin("AnvilChunkLoaderMixin")), ChunkMixin(builder(Side.COMMON).mixin("ChunkMixin")), + StatListMixin(builder(Side.COMMON).mixin("StatListMixin")), BlockFireMixin(builder(Side.COMMON).mixin("BlockFireMixin")), WorldMixin(builder(Side.COMMON).mixin("WorldMixin")), ExtendedBlockStorageMixin(builder(Side.COMMON).mixin("ExtendedBlockStorageMixin")),