From 310b73bdf91af9a4365d28d786071d9ce9f14124 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:38:02 +0330 Subject: [PATCH 1/5] Update Worldedit.js --- examplemods/Worldedit.js | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index 4134058..9c029b3 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -20,10 +20,15 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { }, onRightClickGround: `/*/user, world, itemstack, blockpos/*/ const prefix = "§7[§4worldedit§7] "; + var username = user.getName(); - globalThis.pos2x = blockpos.x - globalThis.pos2y = blockpos.y - globalThis.pos2z = blockpos.z + globalThis.pos2x = {} + globalThis.pos2y = {} + globalThis.pos2z = {} + + globalThis.pos2x[username] = blockpos.x + globalThis.pos2y[username] = blockpos.y + globalThis.pos2z[username] = blockpos.z console.log("rightclick: " + blockpos.x + ", " + blockpos.y + ", " + blockpos.z) // Send chat message to player user.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str(prefix + "Pos #2 set to: " + blockpos.x + ", " + blockpos.y + ", " + blockpos.z))) @@ -31,12 +36,16 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { `, onLeftClickGround: `/*/user, world, itemstack, blockpos/*/ const prefix = "§7[§4worldedit§7] "; + var username = user.getName(); - globalThis.posx = blockpos.x - globalThis.posy = blockpos.y - globalThis.posz = blockpos.z + globalThis.posx = {} + globalThis.posy = {} + globalThis.posz = {} + + globalThis.posx[username] = blockpos.x + globalThis.posy[username] = blockpos.y + globalThis.posz[username] = blockpos.z - console.log("leftclick: " + blockpos.x + ", " + blockpos.y + ", " + blockpos.z) // Send chat message to player user.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str(prefix + "Pos #1 set to: " + blockpos.x + ", " + blockpos.y + ", " + blockpos.z))) return true; @@ -84,11 +93,12 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { var blockPosConstructor = ModAPI.reflect.getClassById("net.minecraft.util.BlockPos").constructors.find((x) => { return x.length === 3 }); if (event.command.toLowerCase().startsWith("//set")) { const args = event.command.substring("//set ".length); + var username = event.sender.getName(); if (args) { const blockTypeName = args - const x1 = globalThis.posx, y1 = globalThis.posy, z1 = globalThis.posz; - const x2 = globalThis.pos2x, y2 = globalThis.pos2y, z2 = globalThis.pos2z; + const x1 = globalThis.posx[username], y1 = globalThis.posy[username], z1 = globalThis.posz[username]; + const x2 = globalThis.pos2x[username], y2 = globalThis.pos2y[username], z2 = globalThis.pos2z[username]; // Validate block and get block type const blockType = ModAPI.blocks[blockTypeName]; From 513b0a4dec6161c98c1659c4c35a51cdf839e8cf Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:45:05 +0330 Subject: [PATCH 2/5] Update Worldedit.js --- examplemods/Worldedit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index 9c029b3..a4d6973 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -125,7 +125,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { } // Notify the player that the blocks have been set - event.sender.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str(prefix + `Set blocks from (${x1}, ${y1}, ${z1}) to (${x2}, ${y2}, ${z2}) to ${blockTypeName}`))); + event.sender.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str(prefix + `Set blocks to ${blockTypeName}`))); } else{ event.sender.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str(prefix + `Arguments not found!`))); } From 340ca87157ac5bc4858626dc6ecafcd49b87f147 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:51:37 +0330 Subject: [PATCH 3/5] Update Worldedit.js --- examplemods/Worldedit.js | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index a4d6973..ca9662d 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -131,6 +131,48 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { } event.preventDefault = true; } + if (event.command.toLowerCase().startsWith("//walls")) { + const args = event.command.substring("//walls ".length); + var username = event.sender.getName(); + + if (args) { + const blockTypeName = args; + const x1 = globalThis.posx[username], y1 = globalThis.posy[username], z1 = globalThis.posz[username]; + const x2 = globalThis.pos2x[username], y2 = globalThis.pos2y[username], z2 = globalThis.pos2z[username]; + + // Validate block and get block type + const blockType = ModAPI.blocks[blockTypeName]; + if (!blockType) { + event.sender.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str(prefix + `Invalid block: ${blockTypeName}`))); + event.preventDefault = true; + return; + } + const block = blockType.getDefaultState().getRef(); + + // Get min and max coordinates for the region + const xMin = Math.min(x1, x2), xMax = Math.max(x1, x2); + const yMin = Math.min(y1, y2), yMax = Math.max(y1, y2); + const zMin = Math.min(z1, z2), zMax = Math.max(z1, z2); + + // Loop through the region and set the walls (exclude interior blocks) + for (let x = xMin; x <= xMax; x++) { + for (let y = yMin; y <= yMax; y++) { + for (let z = zMin; z <= zMax; z++) { + if (x === xMin || x === xMax || z === zMin || z === zMax) { + const blockPos = blockPosConstructor(x, y, z); + event.sender.getServerForPlayer().setBlockState(blockPos, block, 3); + } + } + } + } + + // Notify the player that the walls have been set + event.sender.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str(prefix + `Walls set to ${blockTypeName}`))); + } else { + event.sender.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str(prefix + `Arguments not found!`))); + } + event.preventDefault = true; + } }); }); })(); From 7bc0e54af3044f8a8a98e938f11f58fa583b9189 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:56:51 +0330 Subject: [PATCH 4/5] i forgor --- examplemods/Worldedit.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index ca9662d..4f1f734 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -20,7 +20,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { }, onRightClickGround: `/*/user, world, itemstack, blockpos/*/ const prefix = "§7[§4worldedit§7] "; - var username = user.getName(); + var username = ModAPI.util.str(user.getName()); globalThis.pos2x = {} globalThis.pos2y = {} @@ -36,7 +36,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { `, onLeftClickGround: `/*/user, world, itemstack, blockpos/*/ const prefix = "§7[§4worldedit§7] "; - var username = user.getName(); + var username = ModAPI.util.str(user.getName()); globalThis.posx = {} globalThis.posy = {} @@ -93,7 +93,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { var blockPosConstructor = ModAPI.reflect.getClassById("net.minecraft.util.BlockPos").constructors.find((x) => { return x.length === 3 }); if (event.command.toLowerCase().startsWith("//set")) { const args = event.command.substring("//set ".length); - var username = event.sender.getName(); + var username = ModAPI.util.str(event.sender.getName()); if (args) { const blockTypeName = args @@ -133,7 +133,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { } if (event.command.toLowerCase().startsWith("//walls")) { const args = event.command.substring("//walls ".length); - var username = event.sender.getName(); + var username = (event.sender.getName()); if (args) { const blockTypeName = args; From aa3b371d86bc7da509c1959975c45cad84be8705 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 13:03:08 +0330 Subject: [PATCH 5/5] Update Worldedit.js --- examplemods/Worldedit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index 4f1f734..227b67e 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -133,7 +133,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { } if (event.command.toLowerCase().startsWith("//walls")) { const args = event.command.substring("//walls ".length); - var username = (event.sender.getName()); + var username = ModAPI.util.str(event.sender.getName()); if (args) { const blockTypeName = args;