давайте короче скопируем метод из ваниллы не особо разбираясь зачем он нам нужен, ПОХУЙ ЧТО АЙРОНЧЕСТЫ НИКОГДА НЕ БЫВАЮТ СДВОЕННЫЕ.
This commit is contained in:
parent
cc372ed871
commit
5f64f5708b
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"code_injector": "coremods/code_injector.js",
|
"code_injector": "coremods/code_injector.js",
|
||||||
"chest_menus": "coremods/chest_menus.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