From 1e4df3ccbcfbebf2c1af3c6fd934e300a99a621d Mon Sep 17 00:00:00 2001 From: ZXMushroom63 Date: Sat, 26 Oct 2024 11:23:43 +0800 Subject: [PATCH] add makeItemStack to LCI --- examplemods/lib.customitems.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/examplemods/lib.customitems.js b/examplemods/lib.customitems.js index 8e12501..d2b36e3 100644 --- a/examplemods/lib.customitems.js +++ b/examplemods/lib.customitems.js @@ -12,6 +12,12 @@ globalThis.LCI_RMBEVENTS ||= {}; globalThis.LCI_LMBEVENTS ||= {}; globalThis.LCI_RECIPEEVENTS ||= {}; + globalThis.LCI_ITEMDB ||= {}; + globalThis.LibCustomItems = { + makeItemStack: function makeItemStack(tag) { + return globalThis.LCI_ITEMBD[tag] || null; + } + }; var useName = ModAPI.util.getMethodFromPackage("net.minecraft.network.NetHandlerPlayServer", "processPlayerBlockPlacement"); var oldUse = ModAPI.hooks.methods[useName]; ModAPI.hooks.methods[useName] = function ($this, packet) { @@ -94,6 +100,7 @@ globalThis.LCI_RMBEVENTS ||= {}; globalThis.LCI_LMBEVENTS ||= {}; globalThis.LCI_RECIPEEVENTS ||= {}; + globalThis.LCI_ITEMDB ||= {}; globalThis.LCI_REGISTRY.push(data.tag); if (data.onRightClickGround) { globalThis.LCI_RMBEVENTS[data.tag] = new Function("user", "world", "itemstack", "blockpos", data.onRightClickGround); @@ -141,6 +148,7 @@ if (globalThis.LCI_RECIPEEVENTS[data.tag]) { globalThis.LCI_RECIPEEVENTS[data.tag](new Proxy(testItem, ModAPI.util.TeaVM_to_Recursive_BaseData_ProxyConf)); } + globalThis.LCI_ITEMBD[data.tag] = new Proxy(testItem, ModAPI.util.TeaVM_to_Recursive_BaseData_ProxyConf); var craftingManager = ModAPI.reflect.getClassById("net.minecraft.item.crafting.CraftingManager").staticMethods.getInstance.method(); if((data.useRecipe !== false) || (data.useRecipe !== "false")) { @@ -153,5 +161,8 @@ LibCustomItems.registerItem = function register(data) { LCI_registerItem(data); } + LibCustomItems.makeItemStack = function makeItemStack(tag) { + return globalThis.LCI_ITEMBD[tag] || null; + } ModAPI.events.callEvent("lib:libcustomitems:loaded", {}); })();