1 var Opcodes = Java.type("org.objectweb.asm.Opcodes");
2 var VarInsnNode = Java.type("org.objectweb.asm.tree.VarInsnNode");
3 var MethodInsnNode = Java.type("org.objectweb.asm.tree.MethodInsnNode");
4 var ASMAPI = Java.type("net.minecraftforge.coremod.api.ASMAPI");
6 function transformMethod(method) {
7 var instructions = method.instructions;
8 instructions.insert(new MethodInsnNode(Opcodes.INVOKESTATIC, "me/shedaniel/lightoverlay/forge/mixin/MixinClientConnection", "handlePacket", "(Lnet/minecraft/network/protocol/Packet;Lnet/minecraft/network/PacketListener;)V", false));
9 instructions.insert(new VarInsnNode(Opcodes.ALOAD, 1));
10 instructions.insert(new VarInsnNode(Opcodes.ALOAD, 0));
13 function initializeCoreMod() {
18 'name': 'net.minecraft.network.Connection'
20 'transformer': function (classNode) {
21 var genericsFtw = ASMAPI.mapMethod("m_129517_");
22 for (i in classNode.methods) {
23 var method = classNode.methods[i];
24 if (method.name === genericsFtw) {
25 transformMethod(method)