Repository navigation
0.2.0
A part can take a second material. Requires Minecraft 26.2, Fabric Loader 0.19.3 and Fabric API 0.159.0.
Fittings
- A fitting names a region of a part - a mask beside the master, or a bone of the geometry - and the kind of item that fills it. Four ship:
gemstone,guard,inlayandbanner. - One fitting template covers all of them. At the smithing table the item decides where it goes: a gem to the gemstone, an ingot to the guard, a dye to the inlay, a banner made at a loom to the banner. The template with nothing in the third slot takes every fitting out again.
- The circlet takes a gem in its stone, the sash a dye on its strap and a metal on its buckle, the greaves a dye in their inlay, and the back banner wears a real banner's design, drawn in pattern layers the way a shield wears one.
- Re-applying a part keeps what is set in it: a circlet goes from iron to gold without losing its emerald.
- An effect can be gated on a fitting with
armorpieces:if_fitting, so an emerald in the circlet can mean something. - Fittings are data in
data/<ns>/armorpieces/fitting/over three code types -material,dye,banner- and a mod can add a type the way it adds an effect type. Whatever item fills one also goes in#armorpieces:fitting_additions. - Nothing changes for a part without fittings, on disk or on screen. Armor decorated before this version reads back exactly as it was written.
Blockbench plugin, the datapack half
- Part... on the panel edits the name, the anchors and the fittings list, picked from every fitting definition in the pack and the mod. The panel follows at once.
- New... defines a fitting the pack lacks - material over a tag or ticked materials, dye, or banner on a bone - and writes the file, its language line and any tag on confirm.
- Effects are rows on the same dialog, with fields, ranges, defaults and descriptions parsed out of the built-in records so Java stays the one source of truth. Ids autocomplete from the game jar, and any row can be gated on a fitting.
- Masks are a third edit mode, greyscale like the master and created on first use; the material preview fills each fitting from a dropdown.
- Save writes the data file and the language line and never reformats a file for being opened. Fields the dialog has no control for are written back exactly as read.
Tools
fitting_mask.pypaints masks andsync_decoration_masters.pyinstalls and checks them.preview_material.pybakes masks the way the game does (--fitting gemstone=emerald), lists a part's fittings and the values each takes, and reads packs outside the mod with--pack.check_authoring.pyruns the Blockbench round trip over every shipped part;effect_schema.pyreads the effect records;vanilla_assets.pynow extracts the trim-material registry and tags too./armorpieces stage fittings [<part>]stages every fitting filled with everything the item registry puts in it, one block per fitting.
Docs
- The mod page gains the fitting sections, the
smithing_fittingrecipe type and theif_fittingeffect row. Authoring moved todocs/authoring.md, with the plugin as a feature in its own right. - New gallery: every set in all eleven trim materials, the front row up close, the same rows from behind, and one circlet in seven gems. A header banner and an icon.
Attached: the mod jar, and the same data and assets as standalone datapack and resource pack zips.