diff --git a/examplemods/AsyncSink.js b/examplemods/AsyncSink.js index b1455a1..101b3b7 100644 --- a/examplemods/AsyncSink.js +++ b/examplemods/AsyncSink.js @@ -242,12 +242,13 @@ ModAPI.meta.credits("By ZXMushroom63"); installMessage.style.display = "initial"; } }, 8000); - + ModAPI.events.newEvent("custom:asyncsink_reloaded"); ModAPI.addEventListener("sendchatmessage", (e) => { if (e.message.toLowerCase().startsWith(".reload_tex")) { e.preventDefault = true; ModAPI.mc.renderItem.itemModelMesher.simpleShapesCache.clear(); ModAPI.promisify(ModAPI.mc.refreshResources)(); + ModAPI.events.callEvent("custom:asyncsink_reloaded", {}); } }); })(); \ No newline at end of file diff --git a/examplemods/block_of_steve_advanced.js b/examplemods/block_of_steve_advanced.js index 561bf9e..ba5d185 100644 --- a/examplemods/block_of_steve_advanced.js +++ b/examplemods/block_of_steve_advanced.js @@ -15,8 +15,6 @@ function fixupBlockIds() { }); } function makeSteveBlock() { - var boolean_valueOf = ModAPI.reflect.getClassByName("Boolean").staticMethods.valueOf.method; - var testProperty = ModAPI.reflect.getClassById("net.minecraft.block.properties.PropertyBool").staticMethods.create.method(ModAPI.util.str("example_property")); var blockClass = ModAPI.reflect.getClassById("net.minecraft.block.Block"); var iproperty = ModAPI.reflect.getClassById("net.minecraft.block.properties.IProperty").class; var makeBlockState = ModAPI.reflect.getClassById("net.minecraft.block.state.BlockState").constructors.find(x => x.length === 2); @@ -34,12 +32,6 @@ function makeSteveBlock() { nmb_BlockSteve.prototype.$createBlockState = function (t) { return makeBlockState(this, ModAPI.array.object(iproperty, 0)); } - // nmb_BlockSteve.prototype.$getMetaFromState = function (iblockstate) { - // return iblockstate.$getValue(testProperty).$booleanValue(); - // } - // nmb_BlockSteve.prototype.$getStateFromMeta = function (meta) { - // return this.$getDefaultState().$withProperty(testProperty, boolean_valueOf(meta > 0)) - // } globalThis.nmb_BlockSteve = nmb_BlockSteve; } function registerSteveClientSide() { @@ -55,7 +47,11 @@ function registerSteveClientSide() { block_of_steve ); itemClass.staticMethods.registerItemBlock0.method(block_of_steve); + ModAPI.mc.renderItem.registerBlock(block_of_steve, ModAPI.util.str("steve")); ModAPI.addEventListener("lib:asyncsink", async () => { + ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{ + ModAPI.mc.renderItem.registerBlock(block_of_steve, ModAPI.util.str("steve")); + }); AsyncSink.L10N.set("tile.steve.name", "Block Of Steve"); AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/block/steve.json", JSON.stringify( { diff --git a/examplemods/block_of_steve_simple.js b/examplemods/block_of_steve_simple.js index 4af0073..a6b8a7e 100644 --- a/examplemods/block_of_steve_simple.js +++ b/examplemods/block_of_steve_simple.js @@ -1,3 +1,4 @@ +AsyncSink.MIDDLEWARE.push(ev=>{if (ev.method === "read" && ev.file.includes("steve")) {console.log(ev.file)}}); //nice little utility function to fix the block identity map function fixupBlockIds() { var blockRegistry = ModAPI.util.wrap(ModAPI.reflect.getClassById("net.minecraft.block.Block").staticVariables.blockRegistry).getCorrective(); @@ -28,7 +29,13 @@ function registerSteveClientSide() { block_of_steve ); itemClass.staticMethods.registerItemBlock0.method(block_of_steve); + ModAPI.mc.renderItem.registerBlock(block_of_steve, ModAPI.util.str("steve")); + + ModAPI.addEventListener("lib:asyncsink", async () => { + ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{ + ModAPI.mc.renderItem.registerBlock(block_of_steve, ModAPI.util.str("steve")); + }); AsyncSink.L10N.set("tile.steve.name", "Block Of Steve"); AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/block/steve.json", JSON.stringify( {