Reference

Commands

Every texturescript command with its arguments and flags.

texturescript COMMAND --help prints the same information. Relative paths inside .stages and scene files are relative to that file.

Common behaviour

  • --json prints machine-readable JSON instead of text, on every command that has it.
  • Refusals. A broken input is refused with REFUSED file:line: reason (or file:line:col) and exit status 1. Nothing is written.
  • Global flags: --help/-h, --version/-v, --completions bash|zsh|fish|sh and --log-level.
  • Vanilla blocks. view, shoot, mcp, fetch and jar take --jar PATH to choose a client jar instead of the newest one found; view, shoot and mcp also take --no-jar to draw only your own blocks.

palette

Derives each material's shades from a dark and a light anchor.

texturescript palette [flags] FAMILY.palette
flag
--out FILEalso write the palette section to FILE
--swatch FILE.pngwrite a PNG of the shades

Prints the palette section to paste into grids. Comment lines place each material's anchors against the vanilla envelope and warn when they fall outside. Refuses anchors closer than 15 OKLab lightness units. Format: Palette files.

grid

Renders a character grid.

texturescript grid [flags] SPEC.grid OUT.png

Writes OUT.png, a ×16 preview OUT_x16.png and the grid as ASCII in OUT.txt. Format: Grid files.

lint

Checks a texture against conventions measured on vanilla.

texturescript lint [flags] TEXTURE.png
flag
--kind block|itemrules for crops and plants (default) or for items
--palette FAMILY.paletteevery colour must come from this family palette
--lower LOWER.pngmarks TEXTURE as the upper half and checks the seam

Exits 1 when any rule fails. Rules: Lint rules.

stages

Generates a crop's growth stages and lints each one.

texturescript stages [flags] CROP.stages OUT_DIR
flag
--keeprender existing stageN/HALF.grid files as hand-drawn overrides

Writes OUT_DIR/stageN/ with each half's grid, PNG, preview and ASCII, and OUT_DIR/strip.png with every stage side by side. Exits 1 when a stage fails lint; the rendered outputs stay for inspection. Refuses to write next to stale outputs from a run with more stages or halves. Format: Stages files.

view

Opens a live 3D view of a scene that updates when you save.

texturescript view [flags] SCENE.toml
flag
--port Nport to serve on; default 8765, another is used if it is taken
--no-opendo not open a browser
--jar PATH, --no-jarsee above

In the browser: drag to orbit, scroll to zoom, keys 1 to 9 pick a variant, v cycles variants, l toggles labels. The view follows edits to the scene and to every grid, palette and map it uses. Format: Scene files.

shoot

Screenshots a scene from one or more angles and variants, in one browser.

texturescript shoot [flags] SCENE.toml OUT.png
flag
--cam YAW,PITCH,DISTANCEdegrees, degrees, blocks; repeat for more angles; default: the scene's camera
--variant NAMEvariant to shoot; repeat for more; default: all
--size WIDTHxHEIGHTsize of each shot; default 960x540
--splitone PNG per shot, OUT-VARIANT-N.png, instead of a sheet
--no-labelshide plot labels
--jar PATH, --no-jarsee above

Writes one shot, or a labelled sheet with one row per variant and one column per camera. Needs a Chromium; see Environment.

sheet

Builds a labelled contact sheet of upscaled textures.

texturescript sheet [flags] OUT.png [FILES_OR_DIRS...]
flag
--scale Nupscale factor; default 12
--cols Ntiles per row; default 8
--bg RRGGBBtile background; default 7f7f7f
--no-labelsno file names; works without a browser

diff

Compares a texture with the one it should match.

texturescript diff [flags] RENDERED.png TARGET.png
flag
--sheet FILE.pngwrite rendered, target and wrong pixels side by side, upscaled
--checkexit 1 when any pixel differs

Prints the mismatch count, split into missing, extra and wrong-colour pixels, and a map of them.

togrid

Converts a PNG to an editable grid, letters ordered darkest first.

texturescript togrid [flags] IMAGE.png OUT.grid
flag
--name NAMEname for the header comment; default: the PNG's

skill

Prints where the authoring skill is, or exports it to a folder without game textures.

texturescript skill [flags] [OUT_DIR]
flag
--forceoverwrite skill files already there

mcp

Serves render, lint and shoot and the skill to agents over MCP on stdio.

texturescript mcp [--jar PATH | --no-jar]

Tools and resources: MCP server.

fetch

Extracts the skill's vanilla reference examples from your own client jar.

texturescript fetch [flags]
flag
--skill DIRskill folder whose examples/manifest.txt lists the textures
--checkreport missing or changed examples without writing; exits 1 if any
--jar PATHsee above

Refuses to write anywhere git would track the files.

jar

Prints the Minecraft client jar TextureScript reads vanilla blocks from.

texturescript jar [--jar PATH]
Copyright © 2026