From efd89fc5cad35b8c3c62f20d88d772b60f0cbd36 Mon Sep 17 00:00:00 2001 From: aeromechanic000 Date: Tue, 6 May 2025 17:37:50 +0800 Subject: [PATCH] check if buildOffBlock is interactable --- src/agent/library/skills.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/agent/library/skills.js b/src/agent/library/skills.js index e488771..3ddfea2 100644 --- a/src/agent/library/skills.js +++ b/src/agent/library/skills.js @@ -692,9 +692,12 @@ export async function placeBlock(bot, blockType, x, y, z, placeOn='bottom', dont } dirs.push(...Object.values(dir_map).filter(d => !dirs.includes(d))); + const cant_place_blocks = ['door', 'bed', 'chest', 'crafting_table', 'furnace', 'dispenser', 'dropper', 'brewing_stand', 'enchanting_table', 'anvil', 'beacon']; + const cant_place_names = ['door', 'bed', 'chest', 'table', 'furnace']; + for (let d of dirs) { const block = bot.blockAt(target_dest.plus(d)); - if (!empty_blocks.includes(block.name)) { + if (!(empty_blocks.concat(cant_place_blocks)).includes(block.name) && !cant_place_names.some(name => block.name.includes(name))) { buildOffBlock = block; faceVec = new Vec3(-d.x, -d.y, -d.z); // invert break;