Pack development
A pack adds suits, abilities, items, blocks and more to Thematic. Most of it is JSON and art, with a little JavaScript for abilities that need behaviour of their own. Start from the working pack below, rename it, and change what you need.
Reference
- Addon formatHow a pack is laid out and what every kind of content file holds: suits, abilities, items, blocks, entities and more.
- Content typesEvery generic content type and its fields and hooks: items, blocks, entities, status effects and the rest.
- Ability typesEvery ability type a definition can name, with its fields and the abilities that ship with Thematic.
- Script APIThe functions and objects available to ability, hero and renderer scripts, with signatures.
- Editor setupAutocomplete and type checks for scripts in VS Code, from the typings of the installed version.
- ExamplesA minimal and a full example for each kind of content file, ready to copy into a pack.
A Thematic content pack with one suit, example_suit, in the collection my_pack.
Files#
data/thematic/armors/my_pack/example_suit.json: the suit. It wearsflight,punchand the four abilities below.data/thematic/collections/my_pack.json: the collection card.data/thematic/abilities/my_pack_example_ability.json: a leap, made from an existing ability type.data/thematic/abilities/my_pack_shockwave.json: an ability whose behaviour is written out in JSON.data/thematic/abilities/example_suit/*.js: two abilities written as scripts. The folder only sorts; the file name is the id.data/thematic/ability_stats/my_pack.json: cooldown, duration, range, damage and amplifier for each ability.data/thematic/flight_profiles/example_flight.json: how the suit flies.data/thematic/guns/example_base_shotgun.js,example_gun.js: a base gun and a working gun built on it.data/thematic/huds/example_hud.js: the ammo counter and reload bar the gun uses.assets/thematic/lang/en_us.json: display names for the suit, collection and abilities.assets/thematic/models/item/example_suit.json,textures/armor/example_suit.png: the inventory icon (the 3D suit) and a placeholder texture.jsconfig.json: autocomplete for the scripts in VS Code. If the pack is not inthematic/packs, run/thematic pack export-types my_pack.
Making it yours#
- Pick an id for your hero in lower_snake_case, with no
altin it. - Rename
example_suitin the suit, icon model and texture file names and inen_us.json. Themy_pack_ability ids already carry your pack name. - Replace the texture. With a Blockbench model, add
assets/thematic/geo/armor/<id>.geo.json.
Reloading#
A new suit, item or gun, and any change to a gun, needs a game restart. Abilities, stats, suit edits, flight profiles and HUDs reload with /reload, or run /thematic pack watch on my_pack and reload on save. Lang and textures reload with F3+T.
Checking#
Run /thematic pack validate. It names each file and field that failed to load. /thematic pack errors lists what is still wrong after a reload. The tablet's Content app has the same checks under Pack tools.
Full docs are in <gameDir>/thematic/docs/; start with addon-format.md. AGENTS.md in this folder is the full format reference.