@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));
 }
Esempio n. 2
0
 @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));
 }