Commands
texturescript COMMAND --help prints the same information. Relative paths inside .stages and
scene files are relative to that file.
Common behaviour
--jsonprints machine-readable JSON instead of text, on every command that has it.- Refusals. A broken input is refused with
REFUSED file:line: reason(orfile:line:col) and exit status 1. Nothing is written. - Global flags:
--help/-h,--version/-v,--completions bash|zsh|fish|shand--log-level. - Vanilla blocks.
view,shoot,mcp,fetchandjartake--jar PATHto choose a client jar instead of the newest one found;view,shootandmcpalso take--no-jarto 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 FILE | also write the palette section to FILE |
--swatch FILE.png | write 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|item | rules for crops and plants (default) or for items |
--palette FAMILY.palette | every colour must come from this family palette |
--lower LOWER.png | marks 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 | |
|---|---|
--keep | render 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 N | port to serve on; default 8765, another is used if it is taken |
--no-open | do not open a browser |
--jar PATH, --no-jar | see 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,DISTANCE | degrees, degrees, blocks; repeat for more angles; default: the scene's camera |
--variant NAME | variant to shoot; repeat for more; default: all |
--size WIDTHxHEIGHT | size of each shot; default 960x540 |
--split | one PNG per shot, OUT-VARIANT-N.png, instead of a sheet |
--no-labels | hide plot labels |
--jar PATH, --no-jar | see 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 N | upscale factor; default 12 |
--cols N | tiles per row; default 8 |
--bg RRGGBB | tile background; default 7f7f7f |
--no-labels | no 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.png | write rendered, target and wrong pixels side by side, upscaled |
--check | exit 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 NAME | name 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 | |
|---|---|
--force | overwrite 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 DIR | skill folder whose examples/manifest.txt lists the textures |
--check | report missing or changed examples without writing; exits 1 if any |
--jar PATH | see 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]