From b8811e8f1ed3fbca8a914c07f0ef54820a9ec609 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 12 Sep 2024 18:49:11 +0330 Subject: [PATCH 1/5] add fix for creative --- examplemods/lib.customitems.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/examplemods/lib.customitems.js b/examplemods/lib.customitems.js index 95767c9..4d0df2c 100644 --- a/examplemods/lib.customitems.js +++ b/examplemods/lib.customitems.js @@ -61,11 +61,18 @@ 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 ($this.$playerEntity.$capabilities.$isCreativeMode){ + if (stat === "START_DESTROY_BLOCK") { sendPacket($this, packetblockchange($this.$serverController.$worldServerForDimension($this.$playerEntity.$dimension), packet[positionTag])); + return 0; + } + } else { + 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, @@ -140,4 +147,4 @@ LCI_registerItem(data); } ModAPI.events.callEvent("lib:libcustomitems:loaded", {}); -})(); \ No newline at end of file +})(); From 6746649096d8c8b9d90002023b6b06b0d3815ca2 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 12 Sep 2024 18:49:59 +0330 Subject: [PATCH 2/5] add fix for both creative and 1 hit blocks --- examplemods/lib.customitems.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/examplemods/lib.customitems.js b/examplemods/lib.customitems.js index 4d0df2c..6b2f55d 100644 --- a/examplemods/lib.customitems.js +++ b/examplemods/lib.customitems.js @@ -61,19 +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 ($this.$playerEntity.$capabilities.$isCreativeMode){ if (stat === "START_DESTROY_BLOCK") { sendPacket($this, packetblockchange($this.$serverController.$worldServerForDimension($this.$playerEntity.$dimension), packet[positionTag])); return 0; } - } else { if (stat !== "START_DESTROY_BLOCK") { if (stat === "STOP_DESTROY_BLOCK") { sendPacket($this, packetblockchange($this.$serverController.$worldServerForDimension($this.$playerEntity.$dimension), packet[positionTag])); } return 0; } - } var r = globalThis.LCI_LMBEVENTS[cid].call(globalThis, new Proxy($this.$playerEntity, ModAPI.util.TeaVM_to_Recursive_BaseData_ProxyConf), From ce600a0b4e85b01fa0bb399fcf457fb7e137c0cd Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 12 Sep 2024 19:02:42 +0330 Subject: [PATCH 3/5] worldedit fix --- examplemods/Worldedit.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index afe8aab..7bf7789 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -20,7 +20,6 @@ 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()] ||= {}; @@ -28,7 +27,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { positions.pos2 = pos; // Send chat message to player - player.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0]( + 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; @@ -43,7 +42,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { positions.pos1 = pos; // Send chat message to player - player.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0]( + 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; @@ -90,27 +89,27 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { } if (event.command.toLowerCase().startsWith("//set")) { // 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 blockType = params; const player = event.sender; const positions = globalThis.playerPositions[player.getName()]; // Validate block type and positions const block = ModAPI.blocks[blockType]; if (!block) { - player.addChatMessage(prefix + "§cInvalid block type."); + player.addChatMessage(ChatComponentTextClass.constructors[0](ModAPI.util.str(prefix + "§cInvalid block type."))); event.preventDefault = true; return; } 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 +136,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; } From e45f3397b2cd2ec77b7ad24d90c0f5ee49653bfe Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 12 Sep 2024 19:09:24 +0330 Subject: [PATCH 4/5] i forgor --- examplemods/Worldedit.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index 7bf7789..4affaf2 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -28,7 +28,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { // Send chat message to player 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) + ModAPI.util.str(prefix + "Pos #2 selected at: " + pos.$x + ", " + pos.$y + ", " + pos.$z)) )); return true; `, @@ -43,7 +43,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { // Send chat message to player 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) + ModAPI.util.str(prefix + "Pos #1 selected at: " + pos.$x + ", " + pos.$y + ", " + pos.$z)) )); return true; ` From 1cdb65c64730a65a301e2f15e2edc897b3296f0a Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 12 Sep 2024 19:24:04 +0330 Subject: [PATCH 5/5] quick fix --- examplemods/Worldedit.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index 4affaf2..8f764aa 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -21,7 +21,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { onRightClickGround: `/*/user, world, itemstack, blockpos/*/ const prefix = "§7[§4worldedit§7] "; const pos = blockpos; - const positions = globalThis.playerPositions[player.getName()] ||= {}; + const positions = globalThis.playerPositions[user.getName()] ||= {}; // Save position #2 positions.pos2 = pos; @@ -34,9 +34,8 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { `, 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; @@ -88,6 +87,7 @@ 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.substring("//set ".length); if (!params) { @@ -97,16 +97,15 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { } const blockType = params; - const player = event.sender; const positions = globalThis.playerPositions[player.getName()]; // Validate block type and positions - const block = ModAPI.blocks[blockType]; - if (!block) { + 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(ChatComponentTextClass.constructors[0](ModAPI.util.str(prefix + "§cPositions not set. Use left and right click to set positions.")));