How command output is verified
MC Commander separates “the web form works” from “the generated syntax matches Minecraft’s format.” This page documents the checks and their limits.
Four layers of checking
- Page checks: required inputs, output, copy, save and share controls are present.
- Code checks: JavaScript, PHP and internal links are checked before deployment.
- Regression checks: fragile outputs such as custom Give names, Unbreakable, Summon and text components have fixed tests.
- In-game checks: a command is described as tested in game only when its exact edition and version were actually executed.
Custom item-name regression
For Java 1.20.5 and newer, MC Commander uses minecraft:custom_name rather than a generic [name=...] component. Regression cases include Japanese text, quotation marks, apostrophes and backslashes.
/give @p minecraft:diamond_sword[minecraft:custom_name={"text":"Test Sword"}] 1Why output is separated by version
| Target | Handling |
|---|---|
| Java 1.12.2 and earlier | Legacy NBT and older identifiers |
| Java 1.13–1.20.4 | Namespaced IDs and legacy NBT |
| Java 1.20.5–1.21.4 | Item Stack Components |
| Java 1.21.5 and newer | Updated text and entity-data formats |
| Bedrock Edition | Bedrock syntax only; Java NBT is not presented as compatible |
Recent fixes that became regression tests
- Give form missing when a JavaScript dependency failed.
- Invalid legacy
[name=...]item-name output. - Java 1.21.5+ changes to Unbreakable, entity attributes, equipment and text events.
- Bedrock Tellraw/Titleraw output separated from Java text syntax.
What “syntax-audited” means
“All generators syntax-audited” means that output formats, source code and regression cases are reviewed. It does not claim that every possible combination has been executed inside Minecraft.