mirror of
https://github.com/eaglerforge/EaglerForgeInjector
synced 2025-07-22 21:51:17 -09:00
v2.6: automatic texture reloading
This commit is contained in:
parent
b92ef4f199
commit
91fef0df25
@ -183,8 +183,9 @@ When it's loaded, we'll:
|
|||||||
var custom_block = BlockRegistrationFunction(); //Get the registered block instance
|
var custom_block = BlockRegistrationFunction(); //Get the registered block instance
|
||||||
|
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => { //Add an asyncronous listener to AsyncSink loading.
|
ModAPI.addEventListener("lib:asyncsink", async () => { //Add an asyncronous listener to AsyncSink loading.
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerBlock(custom_block, ModAPI.util.str("custom_block"));
|
//when asyncsink yells at us to register the custom block, register it
|
||||||
|
renderItem.registerItem(custom_block, ModAPI.util.str("custom_block"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("tile.custom_block.name", "My Custom Block"); //Set the name of the block
|
AsyncSink.L10N.set("tile.custom_block.name", "My Custom Block"); //Set the name of the block
|
||||||
|
|
||||||
|
@ -92,8 +92,8 @@ Now let's run the `CustomItem` function on the server and the client, and then u
|
|||||||
var custom_item = CustomItem();
|
var custom_item = CustomItem();
|
||||||
|
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => {
|
ModAPI.addEventListener("lib:asyncsink", async () => {
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerItem(custom_item, ModAPI.util.str("custom_item"));
|
renderItem.registerItem(custom_item, ModAPI.util.str("custom_item"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("item.custom_item.name", "Cool Custom Item");
|
AsyncSink.L10N.set("item.custom_item.name", "Cool Custom Item");
|
||||||
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/custom_item.json", JSON.stringify(
|
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/custom_item.json", JSON.stringify(
|
||||||
|
@ -260,4 +260,13 @@ ModAPI.meta.credits("By ZXMushroom63");
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
ModAPI.events.newEvent("lib:asyncsink:registeritems");
|
||||||
|
const regItemsName = ModAPI.util.getMethodFromPackage("net.minecraft.client.renderer.entity.RenderItem", "registerItems");
|
||||||
|
const oldRegisterItems = ModAPI.hooks.methods[regItemsName];
|
||||||
|
ModAPI.hooks.methods[regItemsName] = function (...args) {
|
||||||
|
debugger;
|
||||||
|
oldRegisterItems.apply(this, args);
|
||||||
|
ModAPI.events.callEvent("lib:asyncsink:registeritems", ModAPI.util.wrap(args[0]));
|
||||||
|
}
|
||||||
|
|
||||||
})();
|
})();
|
@ -91,8 +91,8 @@
|
|||||||
var custom_block = BlockRegistrationFunction(); //Get the registered block instance
|
var custom_block = BlockRegistrationFunction(); //Get the registered block instance
|
||||||
|
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => { //Add an asyncronous listener to AsyncSink loading.
|
ModAPI.addEventListener("lib:asyncsink", async () => { //Add an asyncronous listener to AsyncSink loading.
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", () => {
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerBlock(custom_block, ModAPI.util.str("custom_block"));
|
renderItem.registerItem(custom_block, ModAPI.util.str("custom_block"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("tile.custom_block.name", "My Custom Block"); //Set the name of the block
|
AsyncSink.L10N.set("tile.custom_block.name", "My Custom Block"); //Set the name of the block
|
||||||
|
|
||||||
|
@ -63,8 +63,8 @@
|
|||||||
var custom_item = CustomItem();
|
var custom_item = CustomItem();
|
||||||
|
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => {
|
ModAPI.addEventListener("lib:asyncsink", async () => {
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerItem(custom_item, ModAPI.util.str("custom_item"));
|
renderItem.registerItem(custom_item, ModAPI.util.str("custom_item"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("item.custom_item.name", "Cool Custom Item");
|
AsyncSink.L10N.set("item.custom_item.name", "Cool Custom Item");
|
||||||
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/custom_item.json", JSON.stringify(
|
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/custom_item.json", JSON.stringify(
|
||||||
|
@ -42,8 +42,8 @@ function registerSteveClientSide() {
|
|||||||
);
|
);
|
||||||
itemClass.staticMethods.registerItemBlock0.method(block_of_steve);
|
itemClass.staticMethods.registerItemBlock0.method(block_of_steve);
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => {
|
ModAPI.addEventListener("lib:asyncsink", async () => {
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerBlock(block_of_steve, ModAPI.util.str("steve"));
|
renderItem.registerItem(block_of_steve, ModAPI.util.str("steve"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("tile.steve.name", "Block Of Steve");
|
AsyncSink.L10N.set("tile.steve.name", "Block Of Steve");
|
||||||
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/block/steve.json", JSON.stringify(
|
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/block/steve.json", JSON.stringify(
|
||||||
|
@ -33,8 +33,8 @@ function registerSteveClientSide() {
|
|||||||
itemClass.staticMethods.registerItemBlock0.method(block_of_steve);
|
itemClass.staticMethods.registerItemBlock0.method(block_of_steve);
|
||||||
|
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => {
|
ModAPI.addEventListener("lib:asyncsink", async () => {
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerBlock(block_of_steve, ModAPI.util.str("steve"));
|
renderItem.registerItem(block_of_steve, ModAPI.util.str("steve"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("tile.steve.name", "Block Of Steve");
|
AsyncSink.L10N.set("tile.steve.name", "Block Of Steve");
|
||||||
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/block/steve.json", JSON.stringify(
|
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/block/steve.json", JSON.stringify(
|
||||||
|
@ -104,8 +104,8 @@
|
|||||||
var pistol_item = PistolItem();
|
var pistol_item = PistolItem();
|
||||||
|
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => {
|
ModAPI.addEventListener("lib:asyncsink", async () => {
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerItem(pistol_item, ModAPI.util.str("pistol"));
|
renderItem.registerItem(pistol_item, ModAPI.util.str("pistol"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("item.pistol.name", "Pistol");
|
AsyncSink.L10N.set("item.pistol.name", "Pistol");
|
||||||
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/pistol.json", JSON.stringify(
|
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/pistol.json", JSON.stringify(
|
||||||
|
@ -151,8 +151,8 @@
|
|||||||
var pistol_item = PistolItem();
|
var pistol_item = PistolItem();
|
||||||
|
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => {
|
ModAPI.addEventListener("lib:asyncsink", async () => {
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerItem(pistol_item, ModAPI.util.str("pistol"));
|
renderItem.registerItem(pistol_item, ModAPI.util.str("pistol"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("item.pistol.name", "Pistol");
|
AsyncSink.L10N.set("item.pistol.name", "Pistol");
|
||||||
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/pistol.json", JSON.stringify(
|
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/pistol.json", JSON.stringify(
|
||||||
|
@ -86,8 +86,8 @@
|
|||||||
ModAPI.dedicatedServer.appendCode(UnluckyBlocks);
|
ModAPI.dedicatedServer.appendCode(UnluckyBlocks);
|
||||||
var block_of_unluckiness = UnluckyBlocks();
|
var block_of_unluckiness = UnluckyBlocks();
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => {
|
ModAPI.addEventListener("lib:asyncsink", async () => {
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerBlock(block_of_unluckiness, ModAPI.util.str("unluckiness"));
|
renderItem.registerItem(block_of_unluckiness, ModAPI.util.str("unluckiness"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("tile.unluckiness.name", "Unlucky Block");
|
AsyncSink.L10N.set("tile.unluckiness.name", "Unlucky Block");
|
||||||
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/block/unluckiness.json", JSON.stringify(
|
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/block/unluckiness.json", JSON.stringify(
|
||||||
|
@ -41,8 +41,8 @@
|
|||||||
var example_item = ExampleItem();
|
var example_item = ExampleItem();
|
||||||
|
|
||||||
ModAPI.addEventListener("lib:asyncsink", async () => {
|
ModAPI.addEventListener("lib:asyncsink", async () => {
|
||||||
ModAPI.addEventListener("custom:asyncsink_reloaded", ()=>{
|
ModAPI.addEventListener("lib:asyncsink:registeritems", (renderItem)=>{
|
||||||
ModAPI.mc.renderItem.registerItem(example_item, ModAPI.util.str("exampleitem"));
|
renderItem.registerItem(example_item, ModAPI.util.str("exampleitem"));
|
||||||
});
|
});
|
||||||
AsyncSink.L10N.set("item.exampleitem.name", "Example Item");
|
AsyncSink.L10N.set("item.exampleitem.name", "Example Item");
|
||||||
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/exampleitem.json", JSON.stringify(
|
AsyncSink.setFile("resourcepacks/AsyncSinkLib/assets/minecraft/models/item/exampleitem.json", JSON.stringify(
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
globalThis.ModAPIVersion = "v2.5.1";
|
globalThis.ModAPIVersion = "v2.6";
|
||||||
globalThis.doEaglerforge = true;
|
globalThis.doEaglerforge = true;
|
||||||
document.querySelector("title").innerText = `EaglerForge Injector ${ModAPIVersion}`;
|
document.querySelector("title").innerText = `EaglerForge Injector ${ModAPIVersion}`;
|
||||||
document.querySelector("h1").innerText = `EaglerForge Injector ${ModAPIVersion}`;
|
document.querySelector("h1").innerText = `EaglerForge Injector ${ModAPIVersion}`;
|
||||||
|
@ -537,8 +537,8 @@ globalThis.modapi_postinit = "(" + (() => {
|
|||||||
ModAPI.events.listeners = { "event": [] };
|
ModAPI.events.listeners = { "event": [] };
|
||||||
ModAPI.addEventListener = function addEventListener(name, callback) {
|
ModAPI.addEventListener = function addEventListener(name, callback) {
|
||||||
if (name.startsWith("lib:")) {
|
if (name.startsWith("lib:")) {
|
||||||
if (ModAPI.events.lib_map[name]) {
|
if (Object.keys(ModAPI.events.lib_map).includes(name)) {
|
||||||
callback({});
|
callback(ModAPI.events.lib_map[name]);
|
||||||
} else {
|
} else {
|
||||||
if (!Array.isArray(ModAPI.events.listeners[name])) {
|
if (!Array.isArray(ModAPI.events.listeners[name])) {
|
||||||
ModAPI.events.listeners[name] = [];
|
ModAPI.events.listeners[name] = [];
|
||||||
@ -596,10 +596,10 @@ globalThis.modapi_postinit = "(" + (() => {
|
|||||||
if (ModAPI.events.types.includes(name) && name.startsWith("lib:")) {
|
if (ModAPI.events.types.includes(name) && name.startsWith("lib:")) {
|
||||||
if (Array.isArray(ModAPI.events.listeners[name])) {
|
if (Array.isArray(ModAPI.events.listeners[name])) {
|
||||||
ModAPI.events.listeners[name].forEach((func) => {
|
ModAPI.events.listeners[name].forEach((func) => {
|
||||||
func({});
|
func(data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
ModAPI.events.lib_map[name] = true;
|
ModAPI.events.lib_map[name] = data;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user