Diagnostics
Every diagnostic has code, severity and message, plus pos (the cell to blame) or path (a JSON
Pointer for schema-level findings), optional related positions, and a hint naming the fix. Stages run in
order; a later stage runs only when earlier stages found no errors. At most 200 diagnostics are reported (the
200th is an E013 saying the rest were omitted). E009 belongs to stage 2 but is detected while parsing, so it is
reported alongside the stage 1 errors.
| Code | Severity | Stage | Checked by | Meaning | Fix |
|---|---|---|---|---|---|
| E001 | error | 1 (structure) | parser | The design fails the rsd/1 JSON Schema, or is not valid JSON. | Fix the value at path to match the schema. |
| E002 | error | 1 (structure) | parser | Ragged grid: a layer has a different row count, or a row a different length. | Make every row the same length and every layer the same number of rows; pad with . for air. |
| E003 | error | 1 (structure) | parser | A grid character is not in the legend. | Add the character to legend, or use . for air. |
| E004 | error | 1 (structure) | parser | Unknown block type, or a type that does not exist in this edition. | Use a type from the registry; the hint lists the closest names. |
| E005 | error | 1 (structure) | parser | Malformed block spec, unknown state key, or a value outside the key's domain. | Use <type> key=value ... with single spaces; the hint lists the allowed keys or values. |
| E006 | error | 2 (placement and wiring) | validator rule | A component lacks the block it needs for support. | Place a solid block on the named face, or change the mount. |
| E007 | error | 1 (structure) | parser | The bounding box exceeds 64 × 384 × 64, the Bedrock structure limit. | Make the design smaller. |
| E008 | error | 1 (structure) | parser | A port, annotation, override, step or extra cell is outside the grid, or a port or annotation sits on air. | Use a position inside the grid that holds a block. |
| E009 | error | 2 (placement and wiring) | parser | Two blocks claim the same cell (repeated blocks overrides, or a block's extra cell such as a door's upper half). |
Keep one block per cell; leave the cell above a door as air. |
| E010 | error | 1 (structure) | parser | Unsupported format version. |
Set format to rsd/1. |
| E011 | error | 1 (structure) | parser | Port or test reference problem: duplicate port name, unknown port in a test, input not on an input block, output not on a readable block, or an expected value the output cannot report. | Fix the port positions or the test so they name existing ports on suitable blocks. |
| E012 | error | 1 (structure) | parser | meta.slug is invalid, or meta.name yields no usable slug. |
Set meta.slug to runs of a-z and 0-9 joined by -, at most 48 characters. |
| E013 | error | 1 (structure) | parser | A hard limit is exceeded; the message names it. | Reduce the item below the limit. |
| E014 | error | export | exporter | The .mcfunction export would exceed the function command limit. | Export with --to mcstructure, or pass --command-limit for a server that raised the gamerule. |
| E015 | error | 1 (structure) | retired | Retired in M9 (no rule reports it): the Java profile stub used it before Java was implemented. | Nothing to fix; both editions are implemented. |
| W101 | warning | 2 (placement and wiring) | validator rule | A dust run is longer than 15 from its nearest source with no repeater. | Insert a repeater before the signal fades. |
| W102 | warning | 2 (placement and wiring) | validator rule | A repeater or comparator outputs into air or a non-conducting block with no consumer. | Point it at a consumer, dust or a conducting block. |
| W103 | warning | 2 (placement and wiring) | validator rule | Isolated dust with no source or consumer in reach. | Connect the dust or remove it. |
| W104 | warning | 2 (placement and wiring) | validator rule | A torch sits on a block that is powered every tick in a loop (burnout risk). | Break the loop or add delay. |
| W105 | warning | 2 (placement and wiring) | validator rule (bedrock only) | The design relies on a Java-only mechanic, such as quasi-connectivity. | Power the piston directly; Bedrock has no quasi-connectivity. |
| W106 | warning | 1 (structure) | parser | A legend key is not used by any layer. | Remove the key or use it. |
| W107 | warning | 1 (structure) | validator rule | meta.gameVersion differs from the registry's pinned game version. |
Re-verify the design in that version, or update meta.gameVersion. |
| W108 | warning | 1 (structure) | validator rule | A block's mapping has not been proven in game yet (VERIFY-IN-GAME). | Check the block in a test world before relying on its orientation. |
| T001 | error | 3 (simulation) | simulator | A test case failed: an output did not match. | Compare expected and actual per output and fix the circuit, not the test. |
| T002 | error | 3 (simulation) | simulator | A test case ran out of its tick budget: afterTicks above 1,000, or a design too large to simulate that long. | Lower afterTicks to at most 1,000; test a very large circuit in a smaller design. |
| T003 | info | 3 (simulation) | simulator | A test case needs something the simulator does not model and was skipped. | Verify that case in game. |