Skip to content

Commit 5cd20ac

Browse files
committed
Fix injected CreativeModeTab constructor bridge
1 parent 3d4b023 commit 5cd20ac

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

src/mod/resources/META-INF/asm/injectCreativeModeTabCtr.js

+27-6
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,44 @@ function initializeCoreMod() {
1111
'transformer': function (node) {
1212
var method = node.visitMethod(Opcodes.ACC_PUBLIC, "<init>", "(Lnet/minecraft/world/item/CreativeModeTab$Row;ILnet/minecraft/world/item/CreativeModeTab$Type;Lnet/minecraft/network/chat/Component;Ljava/util/function/Supplier;Lnet/minecraft/world/item/CreativeModeTab$DisplayItemsGenerator;)V", null, null);
1313
method.visitCode();
14+
1415
method.visitVarInsn(Opcodes.ALOAD, 0);
16+
// row
1517
method.visitVarInsn(Opcodes.ALOAD, 1);
18+
// column
1619
method.visitVarInsn(Opcodes.ILOAD, 2);
20+
// type
1721
method.visitVarInsn(Opcodes.ALOAD, 3);
22+
// displayName
1823
method.visitVarInsn(Opcodes.ALOAD, 4);
24+
// iconGenerator
1925
method.visitVarInsn(Opcodes.ALOAD, 5);
26+
// displayItemsGenerator
2027
method.visitVarInsn(Opcodes.ALOAD, 6);
21-
method.visitTypeInsn(Opcodes.NEW, "net/minecraft/resources/ResourceLocation"); // backgroundLocation
28+
// backgroundLocation
29+
method.visitTypeInsn(Opcodes.NEW, "net/minecraft/resources/ResourceLocation");
2230
method.visitInsn(Opcodes.DUP);
2331
method.visitLdcInsn("textures/gui/container/creative_inventory/tab_items.png");
2432
method.visitMethodInsn(Opcodes.INVOKESPECIAL, "net/minecraft/resources/ResourceLocation", "<init>", "(Ljava/lang/String;)V");
25-
method.visitInsn(Opcodes.ICONST_0); // hasSearchBar
26-
method.visitLdcInsn(89); // searchBarWidth
33+
// hasSearchBar
34+
method.visitInsn(Opcodes.ICONST_0);
35+
// searchBarWidth
36+
method.visitLdcInsn(89);
2737
method.visitFieldInsn(Opcodes.GETSTATIC, "net/minecraft/world/item/CreativeModeTab$Builder", "CREATIVE_INVENTORY_TABS_IMAGE", "Lnet/minecraft/resources/ResourceLocation;"); // tabsImage
28-
method.visitLdcInsn(4210752); // labelColor
29-
method.visitLdcInsn(-2130706433); // slotColor
30-
method.visitMethodInsn(Opcodes.INVOKESPECIAL, "net/minecraft/world/item/CreativeModeTab", "<init>", "(Lnet/minecraft/world/item/CreativeModeTab$Row;ILnet/minecraft/world/item/CreativeModeTab$Type;Lnet/minecraft/network/chat/Component;Ljava/util/function/Supplier;Lnet/minecraft/world/item/CreativeModeTab$DisplayItemsGenerator;Lnet/minecraft/resources/ResourceLocation;ZILnet/minecraft/resources/ResourceLocation;II)V", false);
38+
// labelColor
39+
method.visitLdcInsn(4210752);
40+
// slotColor
41+
method.visitLdcInsn(-2130706433);
42+
// tabsBefore
43+
method.visitTypeInsn(Opcodes.NEW, "java/util/ArrayList")
44+
method.visitInsn(Opcodes.DUP)
45+
method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/util/ArrayList", "<init>", "()V")
46+
// tabsAfter
47+
method.visitTypeInsn(Opcodes.NEW, "java/util/ArrayList")
48+
method.visitInsn(Opcodes.DUP)
49+
method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/util/ArrayList", "<init>", "()V")
50+
// invoke ctr
51+
method.visitMethodInsn(Opcodes.INVOKESPECIAL, "net/minecraft/world/item/CreativeModeTab", "<init>", "(Lnet/minecraft/world/item/CreativeModeTab$Row;ILnet/minecraft/world/item/CreativeModeTab$Type;Lnet/minecraft/network/chat/Component;Ljava/util/function/Supplier;Lnet/minecraft/world/item/CreativeModeTab$DisplayItemsGenerator;Lnet/minecraft/resources/ResourceLocation;ZILnet/minecraft/resources/ResourceLocation;IILjava/util/List;Ljava/util/List;)V", false);
3152
method.visitInsn(Opcodes.RETURN);
3253
method.visitEnd();
3354

0 commit comments

Comments
 (0)