давайте короче скопируем метод из ваниллы не особо разбираясь зачем он нам нужен, ПОХУЙ ЧТО АЙРОНЧЕСТЫ НИКОГДА НЕ БЫВАЮТ СДВОЕННЫЕ.

This commit is contained in:
YuRaNnNzZZ 2025-04-09 18:10:43 +03:00
parent cc372ed871
commit 5f64f5708b
Signed by: YuRaNnNzZZ
GPG Key ID: 5F71738C85A6006D
2 changed files with 47 additions and 1 deletions

View File

@ -1,5 +1,6 @@
{
"code_injector": "coremods/code_injector.js",
"chest_menus": "coremods/chest_menus.js",
"limb_brush_overclock": "coremods/limb_brush_overclock.js"
"limb_brush_overclock": "coremods/limb_brush_overclock.js",
"iron_chest_menus": "coremods/iron_chest_menus.js"
}

View File

@ -0,0 +1,45 @@
var Opcodes = Java.type('org.objectweb.asm.Opcodes')
var MethodNode = Java.type('org.objectweb.asm.tree.MethodNode')
var VarInsnNode = Java.type('org.objectweb.asm.tree.VarInsnNode')
var MethodInsnNode = Java.type('org.objectweb.asm.tree.MethodInsnNode')
var InsnNode = Java.type('org.objectweb.asm.tree.InsnNode')
var TypeInsnNode = Java.type('org.objectweb.asm.tree.TypeInsnNode')
var isOwnPatches = [
'com.progwml6.ironchest.common.block.regular.entity.AbstractIronChestBlockEntity$1',
]
function initializeCoreMod() {
var result = {}
for (i in isOwnPatches) {
var clazz = isOwnPatches[i]
result[clazz] = {
'target': {
'type': 'METHOD',
'class': clazz,
'methodName': 'isOwnContainer',
'methodDesc': '(Lnet/minecraft/world/entity/player/Player;)Z'
},
'transformer': function(node) {
for (var i = 0; i < node.instructions.size(); i++) {
var instr = node.instructions.get(i)
if ((instr.getOpcode() == Opcodes.INSTANCEOF || instr.getOpcode() == Opcodes.CHECKCAST) && instr.desc == 'com/progwml6/ironchest/common/inventory/IronChestMenu') {
instr.desc = 'ru/dbotthepony/mc/otm/compat/ironchest/MatteryIronChestMenu'
} else if (instr.getOpcode() == Opcodes.INVOKEVIRTUAL && instr.owner == 'com/progwml6/ironchest/common/inventory/IronChestMenu' && instr.name == 'getContainer') {
instr.owner = 'ru/dbotthepony/mc/otm/compat/ironchest/MatteryIronChestMenu'
instr.name = 'getContainer'
}
}
return node
}
}
}
return result
}