From 99be1d0cc7b3dd23f05990fcb98a7607cb01055d Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 11:07:53 +0330 Subject: [PATCH 1/6] fix typo --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index f002050..f6e1f51 100644 --- a/index.html +++ b/index.html @@ -95,7 +95,7 @@ Info:
- Where can I download an unobfuscated sunsigned Eaglercraft build? + Where can I download an unobfuscated unsigned Eaglercraft build? https://github.com/Eaglercraft-Archive/unminified-eaglercraft-builds/releases/latest
From f247fe990ee0f98eb59c033435a4fbe005b1f123 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 11:11:43 +0330 Subject: [PATCH 2/6] make worldedit work --- examplemods/Worldedit.js | 104 +++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 60 deletions(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index 8f764aa..342d17a 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -20,29 +20,26 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { }, onRightClickGround: `/*/user, world, itemstack, blockpos/*/ const prefix = "§7[§4worldedit§7] "; - const pos = blockpos; - const positions = globalThis.playerPositions[user.getName()] ||= {}; - - // Save position #2 - positions.pos2 = pos; + + globalThis.pos2x = blockpos.x + globalThis.pos2y = blockpos.y + globalThis.pos2z = blockpos.z // 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)) + 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))) )); return true; `, onLeftClickGround: `/*/user, world, itemstack, blockpos/*/ const prefix = "§7[§4worldedit§7] "; - const pos = blockpos; - const positions = globalThis.playerPositions[user.getName()] ||= {}; + + globalThis.posx = blockpos.x + globalThis.posy = blockpos.y + globalThis.posz = blockpos.z - // Save position #1 - positions.pos1 = pos; // 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)) + 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; ` @@ -86,57 +83,44 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { event.preventDefault = true; } + var blockPosConstructor = ModAPI.reflect.getClassById("net.minecraft.util.BlockPos").constructors.find((x) => { return x.length === 3 }); if (event.command.toLowerCase().startsWith("//set")) { - const player = event.sender; - // Parse command parameters - 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; - const positions = globalThis.playerPositions[player.getName()]; - - // Validate block type and positions - 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."))); - event.preventDefault = true; - return; - } - - const blockState = block.getDefaultState().getRef(); - const world = player.getServerForPlayer().getWorld(); - - // Get coordinates - const x1 = Math.min(positions.pos1.$x, positions.pos2.$x); - const y1 = Math.min(positions.pos1.$y, positions.pos2.$y); - const z1 = Math.min(positions.pos1.$z, positions.pos2.$z); - const x2 = Math.max(positions.pos1.$x, positions.pos2.$x); - const y2 = Math.max(positions.pos1.$y, positions.pos2.$y); - const z2 = Math.max(positions.pos1.$z, positions.pos2.$z); - - // Set blocks in the specified area - for (let x = x1; x <= x2; x++) { - for (let y = y1; y <= y2; y++) { - for (let z = z1; z <= z2; z++) { - const blockPos = ModAPI.reflect.getClassById("net.minecraft.util.BlockPos").constructors[0](x, y, z); - world.setBlockState(blockPos, blockState, 3); + const args = event.command.substring("//set ".length); + + 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; + + // 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 fill 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 blocks + for (let x = xMin; x <= xMax; x++) { + for (let y = yMin; y <= yMax; y++) { + for (let z = zMin; z <= zMax; z++) { + const blockPos = blockPosConstructor(x, y, z); + event.sender.getServerForPlayer().setBlockState(blockPos, block, 3); + } } } + + // 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}`))); + } else{ + event.sender.addChatMessage(ModAPI.reflect.getClassById("net.minecraft.util.ChatComponentText").constructors[0](ModAPI.util.str(prefix + `Arguments not found!`))); } - - // Notify the sender - player.addChatMessage(ChatComponentTextClass.constructors[0](ModAPI.util.str(prefix + "§aBlocks set successfully."))); - event.preventDefault = true; } }); From a2e535ea63066fb1a0ccc2f2534fdcccd4013c59 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 11:17:41 +0330 Subject: [PATCH 3/6] oops --- examplemods/Worldedit.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index 342d17a..1df78bf 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -27,7 +27,6 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { // 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))) - )); return true; `, onLeftClickGround: `/*/user, world, itemstack, blockpos/*/ @@ -40,7 +39,6 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { // 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; ` }); From 96829fb05578d9d90dde2bc2beab6659b70b77c4 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:01:43 +0330 Subject: [PATCH 4/6] Update Worldedit.js --- examplemods/Worldedit.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index 1df78bf..b2c52c4 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -24,7 +24,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { globalThis.pos2x = blockpos.x globalThis.pos2y = blockpos.y globalThis.pos2z = 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))) return true; @@ -36,7 +36,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { globalThis.posy = blockpos.y globalThis.posz = 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; From d2e3e8e34224f47bdf97d8655fa18b34139acfe6 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:06:52 +0330 Subject: [PATCH 5/6] Update Worldedit.js --- examplemods/Worldedit.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examplemods/Worldedit.js b/examplemods/Worldedit.js index b2c52c4..4134058 100644 --- a/examplemods/Worldedit.js +++ b/examplemods/Worldedit.js @@ -24,7 +24,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { globalThis.pos2x = blockpos.x globalThis.pos2y = blockpos.y globalThis.pos2z = blockpos.z - console.log("rightclick: " blockpos.x + ", " + blockpos.y + ", " + 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))) return true; @@ -36,7 +36,7 @@ ModAPI.addEventListener("lib:libcustomitems:loaded", () => { globalThis.posy = blockpos.y globalThis.posz = blockpos.z - console.log("leftclick: " blockpos.x + ", " + blockpos.y + ", " + 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; From 5912caff8484caacc517a547d84c828ec8096b0b Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:16:00 +0330 Subject: [PATCH 6/6] Update lib.customitems.js --- examplemods/lib.customitems.js | 1 - 1 file changed, 1 deletion(-) diff --git a/examplemods/lib.customitems.js b/examplemods/lib.customitems.js index 6b2f55d..ea8bec1 100644 --- a/examplemods/lib.customitems.js +++ b/examplemods/lib.customitems.js @@ -63,7 +63,6 @@ var stat = ModAPI.util.unstr(packet.$status[statusTag]); 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") {