push latest asyncsink and bugfixes

This commit is contained in:
ZXMushroom63 2024-11-03 19:25:57 +08:00
parent a68c05e4a4
commit 78b765e508
3 changed files with 13 additions and 9 deletions

View File

@ -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", {});
}
});
})();

View File

@ -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(
{

View File

@ -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(
{