From 354e1f754ac7f5a8a28645ca5f1c7d83f8a3a770 Mon Sep 17 00:00:00 2001 From: Isadora White Date: Sun, 23 Mar 2025 15:39:50 -0500 Subject: [PATCH] construction tasks try catch loop --- src/agent/task_types/construction_tasks.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/agent/task_types/construction_tasks.js b/src/agent/task_types/construction_tasks.js index 68c448b..a63c4f0 100644 --- a/src/agent/task_types/construction_tasks.js +++ b/src/agent/task_types/construction_tasks.js @@ -47,13 +47,19 @@ export function resetConstructionWorld(bot, blueprint) { export function checkLevelBlueprint(agent, levelNum) { const blueprint = agent.task.blueprint; const bot = agent.bot; - const result = blueprint.checkLevel(bot, levelNum); - if (result.mismatches.length === 0) { - return `Level ${levelNum} is correct`; - } else { - let explanation = blueprint.explainLevelDifference(bot, levelNum); - return explanation; + try { + const result = blueprint.checkLevel(bot, levelNum); + if (result.mismatches.length === 0) { + return `Level ${levelNum} is correct`; + } else { + let explanation = blueprint.explainLevelDifference(bot, levelNum); + return explanation; + } + } catch (error) { + console.error('Error checking level blueprint:', error); + return `Error checking level ${levelNum}: ${error.message}`; } + } export function checkBlueprint(agent) { @@ -158,6 +164,9 @@ export class Blueprint { } checkLevel(bot, levelNum) { const levelData = this.data.levels[levelNum]; + if (!levelData) { + throw new Error(`Level ${levelNum} does not exist in the blueprint.`); + } const startCoords = levelData.coordinates; const placement = levelData.placement; const mismatches = [];