From 8aa7937382eabc94ab8c1d1700150a7955ceb34a Mon Sep 17 00:00:00 2001 From: ZXMushroom63 Date: Mon, 9 Dec 2024 15:42:14 +0800 Subject: [PATCH] fix bug, but new regression --- examplemods/guns.js | 2 +- examplemods/useless_item_example_mod.js | 2 +- postinit.js | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/examplemods/guns.js b/examplemods/guns.js index 469d479..8cb5e99 100644 --- a/examplemods/guns.js +++ b/examplemods/guns.js @@ -68,7 +68,7 @@ var pistol_item = (new nmi_ItemPistol()).$setUnlocalizedName( ModAPI.util.str("pistol") ); - itemClass.staticMethods.registerItem0.method(ModAPI.keygen.item("pistol"), ModAPI.util.str("pistol"), pistol_item); + itemClass.staticMethods.registerItem.method(ModAPI.keygen.item("pistol"), ModAPI.util.str("pistol"), pistol_item); ModAPI.items["pistol"] = pistol_item; return pistol_item; diff --git a/examplemods/useless_item_example_mod.js b/examplemods/useless_item_example_mod.js index 3fb0dcc..16530c0 100644 --- a/examplemods/useless_item_example_mod.js +++ b/examplemods/useless_item_example_mod.js @@ -24,7 +24,7 @@ var example_item = (new nmi_ItemExample()).$setUnlocalizedName( ModAPI.util.str("exampleitem") ); - itemClass.staticMethods.registerItem0.method(ModAPI.keygen.item("exampleitem"), ModAPI.util.str("exampleitem"), example_item); + itemClass.staticMethods.registerItem.method(ModAPI.keygen.item("exampleitem"), ModAPI.util.str("exampleitem"), example_item); ModAPI.items["exampleitem"] = example_item; return example_item; diff --git a/postinit.js b/postinit.js index 342ae64..17cd42f 100644 --- a/postinit.js +++ b/postinit.js @@ -890,8 +890,10 @@ globalThis.modapi_postinit = "(" + (() => { } ModAPI.events.newEvent("bootstrap", "server"); + ModAPI.events.newEvent("prebootstrap", "server"); const originalBootstrap = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.init.Bootstrap", "register")]; ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.init.Bootstrap", "register")] = function (...args) { + ModAPI.events.callEvent("prebootstrap", {}); var x = originalBootstrap.apply(this, args); ModAPI.util.bootstrap(); ModAPI.events.callEvent("bootstrap", {}); @@ -899,6 +901,23 @@ globalThis.modapi_postinit = "(" + (() => { return x; } + + ModAPI.events.newEvent("registeritems", "server"); + const originalItemRegister = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.item.Item", "registerItems")]; + ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.item.Item", "registerItems")] = function (...args) { + var x = originalItemRegister.apply(this, args); + ModAPI.events.callEvent("registeritems", {}); + return x; + } + + ModAPI.events.newEvent("registerblocks", "server"); + const originalBlockRegister = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.block.Block", "registerBlocks")]; + ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.block.Block")] = function (...args) { + var x = originalBlockRegister.apply(this, args); + ModAPI.events.callEvent("registerblocks", {}); + return x; + } + const originalOptionsInit = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "initGui")]; ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "initGui")] = function (...args) { var x = originalOptionsInit.apply(this, args);