|
@@ -34,7 +34,7 @@ public class KajetansTransformer implements IClassTransformer
|
|
|
{
|
|
|
obfuscated = !ldev;
|
|
|
}
|
|
|
- System.out.println(obfuscated);
|
|
|
+ //System.out.println(obfuscated);
|
|
|
}
|
|
|
|
|
|
private void printPatch(String s)
|
|
@@ -163,6 +163,40 @@ public class KajetansTransformer implements IClassTransformer
|
|
|
"onGetTabListDisplayName", "(Lnet/minecraft/entity/player/EntityPlayerMP;)Lnet/minecraft/util/text/ITextComponent;", false));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ // patching setEntityActionState
|
|
|
+ // MD: net/minecraft/entity/player/EntityPlayerMP/setEntityActionState (FFZZ)V oq/a (FFZZ)V
|
|
|
+ /*if(obfuscated)
|
|
|
+ {
|
|
|
+ mn = classNode.methods.stream().filter(me -> me.name.equals("a")).filter(me -> "(FFZZ)V".equals(me.desc)).findAny().get();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ mn = classNode.methods.stream().filter(me -> me.name.equals("setEntityActionState")).findAny().get();
|
|
|
+ }
|
|
|
+ ins = mn.instructions;
|
|
|
+
|
|
|
+ if(obfuscated)
|
|
|
+ {
|
|
|
+ ins.insert(ins.get(1), new MethodInsnNode(Opcodes.INVOKESTATIC, "me/kcm/events/Hooks", "onSetEntityActionState", "(Loq;FFZZ)V", false));
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ins.insert(ins.get(1), new MethodInsnNode(Opcodes.INVOKESTATIC, "me/kcm/events/Hooks",
|
|
|
+ "onSetEntityActionState", "(Lnet/minecraft/entity/player/EntityPlayerMP;FFZZ)V", false));
|
|
|
+ }
|
|
|
+ ins.insert(ins.get(1), new VarInsnNode(Opcodes.ILOAD, 4));
|
|
|
+ ins.insert(ins.get(1), new VarInsnNode(Opcodes.ILOAD, 3));
|
|
|
+ ins.insert(ins.get(1), new VarInsnNode(Opcodes.FLOAD, 2));
|
|
|
+ ins.insert(ins.get(1), new VarInsnNode(Opcodes.FLOAD, 1));
|
|
|
+ ins.insert(ins.get(1), new VarInsnNode(Opcodes.ALOAD, 0));
|
|
|
+
|
|
|
+ java.util.ListIterator<AbstractInsnNode> list = ins.iterator();
|
|
|
+ while(list.hasNext())
|
|
|
+ {
|
|
|
+ System.out.println(getString(list.next()));
|
|
|
+ }*/
|
|
|
+
|
|
|
ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES);
|
|
|
classNode.accept(writer);
|
|
|
return writer.toByteArray();
|