давайте короче скопируем метод из ваниллы не особо разбираясь зачем он нам нужен, ПОХУЙ ЧТО АЙРОНЧЕСТЫ НИКОГДА НЕ БЫВАЮТ СДВОЕННЫЕ.
This commit is contained in:
parent
cc372ed871
commit
5f64f5708b
@ -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"
|
||||
}
|
45
src/main/resources/coremods/iron_chest_menus.js
Normal file
45
src/main/resources/coremods/iron_chest_menus.js
Normal 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
|
||||
}
|
Loading…
Reference in New Issue
Block a user