You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- vanilla-style block-state strings also work, for example `minecraft:oak_stairs[facing=east,half=top]`
429
+
430
+
Semantic step types in `steps[]` now include:
431
+
-`cuboid`
432
+
-`hollow_cuboid`
433
+
-`columns`
434
+
-`blocks`
435
+
-`windows`
436
+
-`roof`
437
+
-`fill`
438
+
-`repeat`
439
+
-`scatter`
420
440
421
441
#### Planner Semantics Agents Should Follow
422
442
@@ -425,13 +445,17 @@ Agents should not treat the build planner as a black box. The most important rul
425
445
-`minecraft_buildsite` returns terrain deltas relative to the player’s current block Y, not absolute world Y.
426
446
- If `maxDy` is negative, the surrounding surface is below the player. A build with floor `y=0` will float unless the plan is lowered or the player moves.
427
447
-`coordMode=absolute` is the right choice when the structure needs to stay locked to a specific world location instead of wherever the player happens to be standing.
428
-
- If `coordMode=absolute` is used without `origin`, the planner falls back to the player’s block position and reports that fallback in `repairs`.
448
+
-`coordMode=anchor` lets one build attach to anchors created by an earlier successful build, for example `last_build:door`.
449
+
- If `coordMode=absolute` is used without `origin`, the planner now rejects the plan instead of silently falling back.
429
450
-`clearPercent` is headroom above sampled surface columns, not proof that the terrain is flat.
430
451
- The planner clamps relative X/Z into `[-32, 32]` and relative Y into `[-24, 24]`. If a plan is too large or too far away, the result includes repairs saying it was clamped into the safe build window.
431
-
-`steps` should be used for phased builds like foundation -> shell -> roof -> details.
452
+
-`steps` should be used for phased builds like foundation -> shell -> roof -> details, and step order is preserved unless `options.phaseReorder=true`.
432
453
-`clear` volumes remove space before building and use the same bounds formats as cuboids, but without a block id.
454
+
-`clear` can also use the v2 object form with `enabled`, `dx`, `dy`, `dz`, `offset`, and `replaceWith`.
433
455
-`rotate` accepts `0`, `90`, `180`, `270`, `cw`, and `ccw`, and the result reports the final normalized value in `appliedRotation`.
434
456
-`phaseCount` reports how many direct-operation phases were compiled from `clear`, `cuboids`, `blocks`, and `steps`.
457
+
-`hollow_cuboid` should be preferred over solid-fill-then-air hacks for rooms and wall shells.
458
+
-`roof` lets the planner generate common roof forms directly instead of forcing the agent to hand-author every shrinking rectangle.
435
459
- The planner now returns structured `issues` identifying floating cuboids or block targets, their `gapBelow`, and a `suggestedY` to ground them correctly.
436
460
- The planner only adds support pillars for real unsupported columns and caps auto-support at 24 columns.
437
461
- If more than 80% of the lowest build columns are already within 2 blocks of solid ground and `autoFix=true`, the planner can auto-lower the whole build instead of spamming pillars.
Copy file name to clipboardExpand all lines: run-mcp-sidecar-node.js
+44-10Lines changed: 44 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -302,19 +302,24 @@ const TOOLS = {
302
302
inputSchema: objectSchema(),
303
303
},
304
304
minecraft_preview_build_plan: {
305
-
description: "Compile and validate a structured voxel build plan without executing it, returning previewCommands, planId, resolvedOrigin, issues, repairs, rotation, and phase data.",
305
+
description: "Compile and validate a structured voxel build plan without executing it, including v2 semantic steps like hollow_cuboid, columns, windows, roof, repeat, and scatter. Returns previewCommands, planId, resolvedOrigin, issues, repairs, rotation, and phase data.",
306
306
method: "POST",
307
307
path: "/v1/actions/preview_build_plan",
308
308
inputSchema: {
309
309
type: "object",
310
-
description: "Either provide build_plan explicitly or pass the build_plan object as the root arguments object. Supports coordMode=player|absolute, explicit origin, offset, autoFix, clear, cuboids, blocks, and steps.",
310
+
description: "Either provide build_plan explicitly or pass the build_plan object as the root arguments object. Supports version=2 plans, coordMode=player|absolute|anchor, explicit origin, offset, anchors, snapToGround, flattenTerrain, clearVegetation, autoFix, clear, cuboids, blocks, and typed semantic steps.",
description: "Compile and execute a structured voxel build plan using the mod's planner, with validation, absolute/player origins, support diagnostics, preview parity via planId, and undo-aware batching.",
333
+
description: "Compile and execute a structured voxel build plan using the mod's planner, including v2 semantic steps, terrain options, anchor origins, support diagnostics, preview parity via planId, and undo-aware batching.",
329
334
method: "POST",
330
335
path: "/v1/actions/execute_build_plan",
331
336
inputSchema: {
332
337
type: "object",
333
-
description: "Either provide build_plan explicitly, pass the build_plan object as the root arguments object, or send executePlanId/planId from minecraft_preview_build_plan to execute the exact cached preview unchanged.",
338
+
description: "Either provide build_plan explicitly, pass the build_plan object as the root arguments object, or send executePlanId/planId from minecraft_preview_build_plan to execute the exact cached preview unchanged. Supports the v2 semantic build vocabulary and terrain flags.",
"- `coordMode=player` means the plan is relative to the active player.",
857
876
"- `coordMode=absolute` means `origin` is an explicit world coordinate and cuboid/block coordinates are relative to that absolute origin.",
858
-
"- If `coordMode=absolute` is used without `origin`, the planner falls back to the player's current block position and reports that fallback in `repairs`.",
877
+
"- `coordMode=anchor` means the planner resolves a previously remembered anchor reference such as `last_build:door` or `Some Label:door` and uses that as the base origin.",
878
+
"- If `coordMode=absolute` is used without `origin`, the planner rejects the plan.",
859
879
"- Positive `x` is east, positive `y` is up, positive `z` is south.",
860
880
"- Keep small test structures close to the origin, for example between `-8` and `8` on x/z.",
861
881
"- The planner clamps X/Z into `[-32, 32]` and Y into `[-24, 24]`. If you exceed that window, the plan is repaired and reported as clamped.",
@@ -889,11 +909,23 @@ function buildBuildPlanGuide() {
889
909
"- `block`",
890
910
"- `material`",
891
911
"- `id`",
912
+
"- full vanilla-style blockstate strings like `minecraft:oak_stairs[facing=east,half=top]`",
892
913
"",
893
914
"Block properties may be provided as:",
894
915
"- `properties`",
895
916
"- `state`",
896
917
"",
918
+
"## Semantic Step Vocabulary",
919
+
"",
920
+
"- `cuboid`: solid rectangular fill",
921
+
"- `hollow_cuboid`: shell-only room or wall box",
922
+
"- `columns`: repeat vertical pillars at listed x/z positions",
923
+
"- `blocks`: individual entries with exact block ids and optional block states",
0 commit comments