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/MixinLevelRenderer", "setupTerrain", "(Lnet/minecraft/client/renderer/culling/Frustum;)V", false));
9 instructions.insert(new VarInsnNode(Opcodes.ALOAD, 2));
12 function initializeCoreMod() {
17 'name': 'net.minecraft.client.renderer.LevelRenderer'
19 'transformer': function (classNode) {
20 var setupRender = ASMAPI.mapMethod("m_109695_");
21 for (i in classNode.methods) {
22 var method = classNode.methods[i];
23 if (method.name === setupRender) {
24 transformMethod(method)