From 7615fb213f2336cb8b5cb6f6910b1a54bc4b2cb6 Mon Sep 17 00:00:00 2001 From: ZXMushroom63 Date: Thu, 12 Sep 2024 16:36:03 +0800 Subject: [PATCH] roadmap + fixes --- examplemods/blocklook.js | 15 ++------------- examplemods/setblocktest.js | 6 ++---- roadmap.txt | 5 +++++ 3 files changed, 9 insertions(+), 17 deletions(-) create mode 100644 roadmap.txt diff --git a/examplemods/blocklook.js b/examplemods/blocklook.js index 4e8b81e..ab76687 100644 --- a/examplemods/blocklook.js +++ b/examplemods/blocklook.js @@ -10,9 +10,7 @@ ModAPI.dedicatedServer.appendCode(function () { return key.startsWith("rayTraceBlocks") && worldMethodMap[key].method.length === 4; })].method; var blockPosConstructor = ModAPI.reflect.getClassById("net.minecraft.util.BlockPos").constructors.find((x) => { return x.length === 3 }); - var blockStateConstructor = ModAPI.reflect.getClassByName("BlockState").constructors[0]; var blockTypesList = Object.keys(ModAPI.blocks); - var iproperty = ModAPI.reflect.getClassById("net.minecraft.block.property.IProperty").class; function getPlayerEntitiesAndTheirWorld() { var out = []; ModAPI.server.worldServers.forEach(x => { @@ -59,21 +57,12 @@ ModAPI.dedicatedServer.appendCode(function () { lookVector.zCoord *= 50; lookVector.addVector(start.$xCoord, start.$yCoord, start.$zCoord); var hitResult = rayTraceMethod(pair.world.getRef(), start, lookVector.getRef(), 0); - console.log("trace complete."); if (hitResult) { - console.log("Attempting to set world state."); var blockPos = blockPosConstructor(Math.round(hitResult.$hitVec.$xCoord), Math.round(hitResult.$hitVec.$yCoord), Math.round(hitResult.$hitVec.$zCoord)); var blockType = blockTypesList[Math.floor(Math.random() * blockTypesList.length)]; - blockType = ModAPI.blocks["dirt"]; //blockType - var block = blockStateConstructor(blockType.getRef(), ModAPI.util.makeArray(iproperty, [])); - console.log(blockPos); - console.log(block); - ModAPI.freezeCallstack(); - pair.world.setBlockState(blockPos, block, 0); - ModAPI.unfreezeCallstack(); - console.log("Set world state."); + blockType = ModAPI.blocks[blockType]; + pair.world.setBlockState(blockPos, block, 3); } - console.log("sub complete"); }); }); }); \ No newline at end of file diff --git a/examplemods/setblocktest.js b/examplemods/setblocktest.js index 89e602c..25b08b0 100644 --- a/examplemods/setblocktest.js +++ b/examplemods/setblocktest.js @@ -1,14 +1,12 @@ //Test to make sure I can set a block ModAPI.dedicatedServer.appendCode(function () { var blockPosConstructor = ModAPI.reflect.getClassById("net.minecraft.util.BlockPos").constructors.find((x) => { return x.length === 3 }); - var blockStateConstructor = ModAPI.reflect.getClassByName("BlockState").constructors[0]; - var iproperty = ModAPI.reflect.getClassById("net.minecraft.block.property.IProperty").class; ModAPI.addEventListener("processcommand", (event) => { if (event.command.toLowerCase().startsWith("/testcmd")) { var blockPos = blockPosConstructor(0, 0, 0); var blockType = ModAPI.blocks["dirt"]; //blockType - var block = blockStateConstructor(blockType.getRef(), ModAPI.util.makeArray(iproperty, [])); - event.sender.getServerForPlayer().setBlockState(blockPos, block, 0); + var block = blockType.getDefaultState().getRef(); + event.sender.getServerForPlayer().setBlockState(blockPos, block, 3); event.preventDefault = true; } }); diff --git a/roadmap.txt b/roadmap.txt new file mode 100644 index 0000000..3685ae1 --- /dev/null +++ b/roadmap.txt @@ -0,0 +1,5 @@ +*/*/ ZXMushroom63's rather large to do list */*/ + +Add makeItemStack to LCI [Todo] +Fix blocklook.js [In progress] +Fix setblocktest.js [In progress] \ No newline at end of file