Explanation

Measured conventions

Where the lint thresholds come from, and why a warning is a question rather than an order.

Vanilla Minecraft textures follow conventions nobody wrote down: crops have no outline, items do; no texture dithers at 16 px; a mature crop covers between a quarter and a half of its sprite. TextureScript's rules were measured on a selection of vanilla crop and item textures, not assumed. The authoring skill's rules/crop.md and rules/item.md record the measurements.

Thresholds describe vanilla, not taste

Each lint threshold sits at the edge of what vanilla does. The vanilla median is 6 colours and the maximum 13, so 13 is where budget fails. No vanilla crop has more than 12 disconnected pieces, so 12 is where islands warns. Nothing in the rules says what looks good; they say what looks like Minecraft.

That is why there are two levels:

  • FAIL means the texture breaks something vanilla never breaks and the game depends on, like semi-transparent pixels or a two-block plant whose halves do not join.
  • WARN means the texture does something vanilla rarely does. It may still be the right call. Look, decide, and if a rule is wrong for your texture, say so instead of nudging pixels until it is quiet.

Some rules are known to be weak. light trips on 5 of 19 vanilla items, so it is a prompt to look, nothing more.

Crops and items are different

Crops are drawn on crossing planes and seen through each other, so they are sparse and have no outline: an outline would draw dark lines through the middle of the plant. Items are flat and seen against the inventory background, so they carry a one-pixel outline in their darkest shade and are lit from the top left. lint --kind switches between the two sets of rules.

Density is judged on the model

Measured in game, a crop sprite at 30% coverage looks as full as one at 43%, because the planes overlap. A flat sprite that looks thin is often right. This is why the coverage rule's range is wide, and why crops should be judged in view or shoot, not as a flat PNG.

Copyright © 2026