Lint rules

Lint rules point out style problems and likely mistakes; errors the checker reports are not lint. A project can change any rule's severity in mms.json, and Lint rules in the guides explains how, and how to silence one.

RuleDefaultReports
accidental-markuphintA style mark in text that is never closed, such as the * of "5 * 3", so it is written as the character itself. The fix puts a backslash before it, which says so.
book-page-overflowwarningA Book page with more text than the book screen shows: 14 lines of about 19 characters. The game cuts the rest off. Widths are measured with the vanilla font, so text outside ASCII is a close guess.
constant-expressionhintAn arithmetic expression of number literals can be written as its value.
custom-item-as-basehintA Book used where the game takes a plain item id, such as a recipe ingredient or an item tag. It stands for written_book there, so any written book matches.
deprecatedwarningA use of a declaration whose doc comment has a @deprecated tag.
external-assetwarningAn id of a texture, sound or structure in the project's namespace that no Texture, Sound or StructureFile call in the project provides. The pack still loads, but the file must come from another pack.
jigsaw-facingwarningA jigsaw block that can never join its target: every jigsaw block with its target name in its pool faces a way it cannot meet. The game turns pieces only about the y axis, so a block facing up joins only one facing down, and a sideways block only a sideways one.
jigsaw-fitwarningAn internal jigsaw block (the block in front of it is inside its own piece, such as an arch mount on a road, or a jigsaw inset by a block by mistake) whose pool has pieces that stick out of the piece however they are turned. The game only places a piece joined at an internal jigsaw wholly inside its parent, so those pieces are never placed there. Height is not checked for terrain_matching pieces.
jigsaw-overlapinfoA jigsaw block that can never grow when its piece joins a given parent: every piece its pool and the pool's fallback could place there overlaps the parent or the piece itself, however it is turned, and the game never places overlapping pieces. A junction narrower than the roads around it is the usual cause. Only certain cases are reported: every piece involved is a rigid project structure file with a known size and facing, and no pool involved has an empty or feature element.
jigsaw-unknown-namewarningA jigsaw block in a structure file that StructureFile("...") includes whose name or target is in a namespace with JigsawHole declarations, but is not one of them: most likely a typo made in the game's jigsaw screen. The quick fix declares it. Projects that declare no JigsawHole in a namespace are not checked there.
jigsaw-unknown-poolwarningA jigsaw block in a structure file that StructureFile("...") includes draws from a pool in the project's namespace that no TemplatePool declares. The game skips the jigsaw, so the structure stops growing there. The quick fix declares the pool.
jigsaw-unreachable-targetwarningA jigsaw block whose target no piece of its pool can join: none of the pool's structure files has a jigsaw block with that name, or the pool has no pieces. Only pools whose pieces are all the project's own structure files are checked.
overrides-vanillainfoA declaration in the minecraft namespace replaces the vanilla resource with the same id.
quoted-namehintAn id or enum name in quotes can be written bare: minecraft:stone or stone rather than "minecraft:stone".
redundant-namespacehintA minecraft: prefix that can be dropped: stone means minecraft:stone unless the project declares its own stone.
unusedhintA worldgen piece, predicate or item modifier that nothing in the project references, so the game never uses it, or a const, Template, Type or Blueprint that nothing names. A TemplatePool counts as used when a jigsaw block in one of the project's structure files draws from it.
unused-assetinfoA .png, .ogg or .nbt file in the project that no Texture, Sound or StructureFile call and no icon uses, so the packs leave it out. It is reported on the file itself (in VS Code's Problems panel, by mms check, and in the web editor's asset list), and not while the project has errors.
use-shorthandhintAn object literal that has a shorter MMS form: an item entry as its id, 1..3 for a uniform provider or bounds, diamond * 4 for a stack, a trigger call for a criterion, and &&, || and ! for conditions.