The manifest
mod.json: the mod's identity, the defs it adds and the sheets they draw with, and how its text is written in several languages.
mod.json is the mod. It names the mod and its version, then lists what the mod adds: its defs, the sheets they draw with, and anything else it carries: factions, terrain variants, sounds and music, a menu background.
Text
name, description and a def's name/desc are text: a string (used for every language), ["English", "中文", "한국어"] in that order, or { "en": "…", "zh": "…", "ko": "…" }. Only English is required; a language left out reads as English.
Reference
mod.json
| field | type | required | default | meaning |
|---|---|---|---|---|
| capacity | standard | large | standard | format 4: large allows 1024 defs, 2048 sheets, 512 sounds, 4 MiB metadata and 256 MiB stored data URLs; standard keeps 200/192/60, 1/24 MiB | |
| requiredCapabilities | capability id[] | Required package-provided capability IDs | ||
| extensionPackages | { id, version, api, capabilities, schema, runtime, presentation? }[] | Versioned extension packages with SHA-256 verified schema, simulation and optional presentation modules (format 4) | ||
| format | string | yes | always "steel-tide-mod" | |
| v | integer 1–4 | yes | format version: 1 remains supported; factions and headquarters require 2; capability data requires 3; executable extension packages require 4 | |
| id | id | yes | the mod's id: lower case, letters, digits, `-`; also its folder in the registry | |
| name | text | yes | the name shown in the mod list | |
| version | string | yes | e.g. `1.0.0`; the game offers an update when the registry's is newer | |
| author | string | who made it | ||
| description | text | one or two sentences for the list | ||
| homepage | string | a link: a repository, a thread | ||
| license | string | CC-BY-4.0 | the mod's licence (SPDX id) | |
| minGame | string | the oldest game version it is written for | ||
| defs | def[] | yes | the units, buildings and upgrade levels; may be empty when terrains, music queues or menu backgrounds are supplied | |
| factions | faction[] | selectable factions, each with its own headquarters, starting builder and roster (format 2) | ||
| terrains | terrain[] | up to 32 map-selected terrain variants; preserve their base terrain’s gameplay | ||
| sprites | sheet[] | the sheets the defs draw with (see below) | ||
| music | { tracks, menu, setup, battle } | custom BGM tracks and ordered menu, setup and battle queues (see below) | ||
| menuBackground | { cuts, queue } | ordered home-menu cut queue, mixing original scenes and this pack’s maps (see below) | ||
| sounds | sound[] | the recordings the weapons fire with (see below) | ||
| screenshots | path[] | pictures of the mod in play, relative to mod.json (`screenshots/1.png`): 4:3, at least 640 px wide, under 2 MB each, up to 8. The registry asks for at least one and shows them on the mod's page | ||
| maps | string | maps the mod carries, relative to mod.json (`maps/city.steel-tide-map`): files exported from the Scenario Editor, up to 8, each under 512 KB. A map may stand the mod's own units; the setup screens offer it beside the player's own map while the mod is on | ||
| files | { path: dataURL } | single-file form only: the sheets, sounds, music and maps, embedded as data URLs by path |
Last edited