From 5731f08f101396f2e820ec4565c2f8dc4d0b6a11 Mon Sep 17 00:00:00 2001 From: Chicken-Bones Date: Tue, 13 Jan 2015 15:42:52 +1000 Subject: [PATCH] Made finiteWater tweak less intrusive. --- src/codechicken/core/asm/TweakTransformer.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/codechicken/core/asm/TweakTransformer.java b/src/codechicken/core/asm/TweakTransformer.java index c36f420..77484f5 100644 --- a/src/codechicken/core/asm/TweakTransformer.java +++ b/src/codechicken/core/asm/TweakTransformer.java @@ -5,7 +5,6 @@ import codechicken.lib.asm.ModularASMTransformer.MethodReplacer; import codechicken.lib.asm.ModularASMTransformer.MethodTransformer; import codechicken.lib.asm.ModularASMTransformer.MethodWriter; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.InsnNode; import org.objectweb.asm.tree.JumpInsnNode; import org.objectweb.asm.tree.LabelNode; import org.objectweb.asm.tree.MethodNode; @@ -71,9 +70,9 @@ public class TweakTransformer implements IClassTransformer, Opcodes { @Override public void transform(MethodNode mv) { - InsnListSection key = findOnce(mv.instructions, blocks.get("finiteWater").list); - key.setLast(((JumpInsnNode) key.getLast()).label); - key.remove(); + ASMBlock needle = blocks.get("finiteWater"); + ASMBlock key = needle.applyLabels(findOnce(mv.instructions, needle.list)); + mv.instructions.insertBefore(key.list.getFirst(), new JumpInsnNode(GOTO, key.get("LEND"))); } }); }