diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index afe8aab..8f764aa 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -20,31 +20,29 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { }, onRightClickGround: `/*/user, world, itemstack, blockpos/*/ const prefix = "§7[§4worldedit§7] "; - const player = user; const pos = blockpos; - const positions = globalThis.playerPositions[player.getName()] ||= {}; + const positions = globalThis.playerPositions[user.getName()] ||= {}; // Save position #2 positions.pos2 = pos; // Send chat message to player - player.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0]( - ModAPI.util.str(prefix + "Pos #2 selected at: " + pos.$x + ", " + pos.$y + ", " + pos.$z) + user.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str( + ModAPI.util.str(prefix + "Pos #2 selected at: " + pos.$x + ", " + pos.$y + ", " + pos.$z)) )); return true; `, onLeftClickGround: `/*/user, world, itemstack, blockpos/*/ const prefix = "§7[§4worldedit§7] "; - const player = user; const pos = blockpos; - const positions = globalThis.playerPositions[player.getName()] ||= {}; + const positions = globalThis.playerPositions[user.getName()] ||= {}; // Save position #1 positions.pos1 = pos; // Send chat message to player - player.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0]( - ModAPI.util.str(prefix + "Pos #1 selected at: " + pos.$x + ", " + pos.$y + ", " + pos.$z) + user.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str( + ModAPI.util.str(prefix + "Pos #1 selected at: " + pos.$x + ", " + pos.$y + ", " + pos.$z)) )); return true; ` @@ -89,28 +87,28 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { event.preventDefault = true; } if (event.command.toLowerCase().startsWith("//set")) { + const player = event.sender; // Parse command parameters - const params = event.command.split(" "); - if (params.length !== 2) { - event.sender.addChatMessage(prefix + "§cUsage: //set "); + const params = event.command.substring("//set ".length); + if (!params) { + player.addChatMessage(ChatComponentTextClass.constructors[0](ModAPI.util.str(prefix + "§cUsage: //set "))); event.preventDefault = true; return; } - const blockType = params[1]; - const player = event.sender; + const blockType = params; const positions = globalThis.playerPositions[player.getName()]; // Validate block type and positions - const block = ModAPI.blocks[blockType]; - if (!block) { - player.addChatMessage(prefix + "§cInvalid block type."); + if (typeof ModAPI.blocks[blockType] !== 'undefined') { + player.addChatMessage(ChatComponentTextClass.constructors[0](ModAPI.util.str(prefix + "§cInvalid block type."))); event.preventDefault = true; return; } + const block = ModAPI.blocks[blockType]; if (!positions || !positions.pos1 || !positions.pos2) { - player.addChatMessage(prefix + "§cPositions not set. Use left and right click to set positions."); + player.addChatMessage(ChatComponentTextClass.constructors[0](ModAPI.util.str(prefix + "§cPositions not set. Use left and right click to set positions."))); event.preventDefault = true; return; } @@ -137,7 +135,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { } // Notify the sender - player.addChatMessage(prefix + "§aBlocks set successfully."); + player.addChatMessage(ChatComponentTextClass.constructors[0](ModAPI.util.str(prefix + "§aBlocks set successfully."))); event.preventDefault = true; } diff --git a/examplemods/lib.customitems.js b/examplemods/lib.customitems.js index 95767c9..6b2f55d 100644 --- a/examplemods/lib.customitems.js +++ b/examplemods/lib.customitems.js @@ -61,12 +61,16 @@ var statusTag = Object.keys(packet.$status).find(x => { return x.startsWith("$name") }); var positionTag = Object.keys(packet).filter(x => { return x.startsWith("$position") })[0]; var stat = ModAPI.util.unstr(packet.$status[statusTag]); - if (stat !== "START_DESTROY_BLOCK") { - if (stat === "STOP_DESTROY_BLOCK") { + if (stat === "START_DESTROY_BLOCK") { sendPacket($this, packetblockchange($this.$serverController.$worldServerForDimension($this.$playerEntity.$dimension), packet[positionTag])); + return 0; + } + if (stat !== "START_DESTROY_BLOCK") { + if (stat === "STOP_DESTROY_BLOCK") { + sendPacket($this, packetblockchange($this.$serverController.$worldServerForDimension($this.$playerEntity.$dimension), packet[positionTag])); + } + return 0; } - return 0; - } var r = globalThis.LCI_LMBEVENTS[cid].call(globalThis, new Proxy($this.$playerEntity, ModAPI.util.TeaVM_to_Recursive_BaseData_ProxyConf), @@ -140,4 +144,4 @@ LCI_registerItem(data); } ModAPI.events.callEvent("lib:libcustomitems:loaded", {}); -})(); \ No newline at end of file +})();