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") {