Measured conventions
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.