@Override protected void apply(ClassNode cn) { MethodNode m = ReikaASMHelper.getMethodByName( cn, "func_77943_a", "tryPlaceItemIntoWorld", "(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;IIIIFFF)Z"); AbstractInsnNode ain = ReikaASMHelper.getLastOpcode(m.instructions, Opcodes.INVOKEVIRTUAL); InsnList li = new InsnList(); li.add(new VarInsnNode(Opcodes.ALOAD, 0)); li.add(new VarInsnNode(Opcodes.ALOAD, 1)); li.add(new VarInsnNode(Opcodes.ALOAD, 2)); li.add(new VarInsnNode(Opcodes.ILOAD, 3)); li.add(new VarInsnNode(Opcodes.ILOAD, 4)); li.add(new VarInsnNode(Opcodes.ILOAD, 5)); li.add(new VarInsnNode(Opcodes.ILOAD, 6)); li.add(new VarInsnNode(Opcodes.FLOAD, 7)); li.add(new VarInsnNode(Opcodes.FLOAD, 8)); li.add(new VarInsnNode(Opcodes.FLOAD, 9)); li.add( new MethodInsnNode( Opcodes.INVOKESTATIC, "Reika/DragonAPI/Instantiable/Event/PostItemUseEvent", "fire", "(Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;IIIIFFF)V", false)); m.instructions.insert(ain, li); // ReikaJavaLibrary.pConsole(ReikaASMHelper.clearString(m.instructions)); }
@Override protected void apply(ClassNode cn) { MethodNode m = ReikaASMHelper.getMethodByName(cn, "func_76320_a", "startSection", "(Ljava/lang/String;)V"); m.instructions.insert( new MethodInsnNode( Opcodes.INVOKESTATIC, "Reika/DragonAPI/Instantiable/Event/ProfileEvent", "fire", "(Ljava/lang/String;)V", false)); m.instructions.insert(new VarInsnNode(Opcodes.ALOAD, 1)); }