toInject.add(new FieldInsnNode(Opcodes.GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;"));
toInject.add(new VarInsnNode(Opcodes.ALOAD, 1));
toInject.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/Object;)V"));*/
LabelNode lmmnode = new LabelNode(new Label());
// this
toInject.add(new VarInsnNode(Opcodes.ALOAD, 0));
// entityplayer
toInject.add(new VarInsnNode(Opcodes.ALOAD, 1));
// world
toInject.add(new VarInsnNode(Opcodes.ALOAD, 2));
// x y z direction
toInject.add(new VarInsnNode(Opcodes.ILOAD, 3));
toInject.add(new VarInsnNode(Opcodes.ILOAD, 4));
toInject.add(new VarInsnNode(Opcodes.ILOAD, 5));
toInject.add(new VarInsnNode(Opcodes.ILOAD, 6));
toInject.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "keepcalm/mods/events/ForgeEventHelper", "onItemUse", String.format("(L%s;L%s;L%s;IIII)V", new Object[] {names.get("itemStack_javaName"), names.get("entityPlayer_javaName"), names.get("world_javaName")})));
toInject.add(lmmnode);
m.instructions.insertBefore(m.instructions.get(index), toInject);
//System.out.println("Used desc: " + String.format("(L%s;L%s;L%s;IIII)V", new Object[] {names.get("itemStackJavaName"), names.get("entityPlayerJavaName"), names.get("worldJavaName")}));
System.out.println("Finished patching ItemStack! - Inserted before " + index + ", toInject: " + toInject);