Build from ASCII layers
buildPlace Minecraft structures from character-layer schematics, mapping palette characters to block states with rotation and dry-run preview before applying changes.
Instructions
Place a structure described as layers of characters. palette maps one character to a block state; rows run north→south (z), characters west→east (x); y is height above origin. Space leaves the world alone. Extra single blocks go in "blocks". Rotation keeps the min corner at origin. Run with dry_run=true first, and preview before that.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Short label stored with the snapshot, e.g. "cottage walls" | |
| world | No | overworld (default), nether, end, a minecraft:<dimension> id, or a Bukkit world folder name | |
| blocks | No | Extra single blocks at positions relative to origin, e.g. {"pos":[2,3,1],"block":"lantern[hanging=true]"} | |
| layers | No | ||
| mirror | No | x flips east↔west, z flips north↔south. Applied before rotation. | none |
| origin | Yes | World position that the spec's (0,0,0) maps to: the min corner of the build | |
| dry_run | No | Compile and report without changing the world | |
| palette | No | Single character → block state, e.g. {"#":"stone_bricks","g":"glass_pane","." : "air"}. Space always means "leave the world alone". | |
| rotation | No | Clockwise quarter turns seen from above. The min corner stays at origin. | |
| snapshot | No | Snapshot the affected box first so undo can revert it (needs world read access) | |
| allow_unknown_blocks | No | Skip block-name validation (for blocks newer than the bundled registry) |