From 6708c57d0fc2ace89b7dcc1e1f020e83cebd0004 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Thu, 17 Mar 2022 16:57:42 +0100 Subject: [PATCH] ItemInWorldManager --- .../endlessids/asm/ClassEdit.java | 3 +-- .../VanillaItemInWorldManager.java | 20 ------------------- .../common/ItemInWorldManagerMixin.java | 16 +++++++++++++++ .../endlessids/mixin/plugin/Mixin.java | 1 + 4 files changed, 18 insertions(+), 22 deletions(-) delete mode 100644 src/main/java/com/falsepattern/endlessids/asm/transformer/VanillaItemInWorldManager.java create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/ItemInWorldManagerMixin.java diff --git a/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java b/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java index e861935..7e67a84 100644 --- a/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java +++ b/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java @@ -7,7 +7,6 @@ import com.falsepattern.endlessids.asm.transformer.UndergroundBiomesBiomeUndergr import com.falsepattern.endlessids.asm.transformer.UndergroundBiomesOreUBifier; import com.falsepattern.endlessids.asm.transformer.CofhBlockHelper; import com.falsepattern.endlessids.asm.transformer.FmlRegistry; -import com.falsepattern.endlessids.asm.transformer.VanillaItemInWorldManager; import java.util.Map; public enum ClassEdit @@ -26,7 +25,7 @@ public enum ClassEdit //VanillaS26PacketMapChunkBulk(new VanillaS26PacketMapChunkBulk(), new String[] { "net.minecraft.network.play.server.S26PacketMapChunkBulk" }), //VanillaRenderGlobal(new VanillaRenderGlobal(), new String[] { "net.minecraft.client.renderer.RenderGlobal" }), //VanillaPlayerControllerMP(new VanillaPlayerControllerMP(), new String[] { "net.minecraft.client.multiplayer.PlayerControllerMP" }), - VanillaItemInWorldManager(new VanillaItemInWorldManager(), new String[] { "net.minecraft.server.management.ItemInWorldManager" }), + //VanillaItemInWorldManager(new VanillaItemInWorldManager(), new String[] { "net.minecraft.server.management.ItemInWorldManager" }), //VanillaWorld(new VanillaWorld(), new String[] { "net.minecraft.world.World" }), FmlRegistry(new FmlRegistry(), new String[] { "cpw.mods.fml.common.registry.GameData", "cpw.mods.fml.common.registry.FMLControlledNamespacedRegistry" }), CofhBlockHelper(new CofhBlockHelper(), new String[] { "cofh.lib.util.helpers.BlockHelper" }), diff --git a/src/main/java/com/falsepattern/endlessids/asm/transformer/VanillaItemInWorldManager.java b/src/main/java/com/falsepattern/endlessids/asm/transformer/VanillaItemInWorldManager.java deleted file mode 100644 index f2f732c..0000000 --- a/src/main/java/com/falsepattern/endlessids/asm/transformer/VanillaItemInWorldManager.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.falsepattern.endlessids.asm.transformer; - -import org.objectweb.asm.tree.MethodNode; -import com.falsepattern.endlessids.asm.AsmUtil; -import com.falsepattern.endlessids.asm.Name; -import org.objectweb.asm.tree.ClassNode; -import com.falsepattern.endlessids.asm.IClassNodeTransformer; - -public class VanillaItemInWorldManager implements IClassNodeTransformer -{ - public VanillaItemInWorldManager() { - super(); - } - - @Override - public void transform(final ClassNode cn, final boolean obfuscated) { - final MethodNode method = AsmUtil.findMethod(cn, Name.itemInWorldManager_tryHarvestBlock); - AsmUtil.transformInlinedSizeMethod(cn, method, 12, 16); - } -} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/ItemInWorldManagerMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/ItemInWorldManagerMixin.java new file mode 100644 index 0000000..afb665c --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/ItemInWorldManagerMixin.java @@ -0,0 +1,16 @@ +package com.falsepattern.endlessids.mixin.mixins.common; + +import net.minecraft.server.management.ItemInWorldManager; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +@Mixin(ItemInWorldManager.class) +public abstract class ItemInWorldManagerMixin { + @ModifyConstant(method = "tryHarvestBlock", + constant = @Constant(intValue = 12, ordinal = 0), + require = 1) + private int extend1(int constant) { + return 16; + } +} 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 88789f0..2cc2a25 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -21,6 +21,7 @@ public enum Mixin { S24PacketBlockActionMixin(builder(Side.COMMON).mixin("S24PacketBlockActionMixin")), S26PacketMapChunkBulkMixin(builder(Side.COMMON).mixin("S26PacketMapChunkBulkMixin")), PlayerControllerMPMixin(builder(Side.COMMON).mixin("PlayerControllerMPMixin")), + ItemInWorldManagerMixin(builder(Side.COMMON).mixin("ItemInWorldManagerMixin")), NetHandlerPlayClientMixin(builder(Side.CLIENT).mixin("NetHandlerPlayClientMixin")), RenderGlobalMixin(builder(Side.CLIENT).mixin("RenderGlobalMixin")), ;