Trims
Presets, patterns and materials: what trims.yml ships and how it is written.
A trim is a pattern plus a material. It is worn in one of two ways: as a preset with a name of its own, or as a combination the player builds on the CUSTOM tab.
All of it lives in trims.yml, which has three sections: patterns, materials and presets.
Patterns and materials
These are the two lists the CUSTOM tab combines. The key is the game's registry key — sentry,
netherite — and minecraft:sentry works just as well: the namespace is trimmed when it is read.
patterns:
sentry:
name: "{letters}Sentry"
icon: "SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE"
materials:
netherite:
name: "{letters_black}Netherite"
icon: "NETHERITE_INGOT"| Key | What it does |
|---|---|
name | What is shown. Takes palette tokens, MiniMessage and gradients. |
icon | The item the row is drawn with on the CUSTOM tab. BARRIER when left empty. |
Patterns and materials are listed on purpose rather than read from the server's registries. A listed half is one you chose to sell: you can rename it, draw it with another icon, and take it away. One the file does not list is not offered, and a new Minecraft version cannot add to your shop by accident.
Eighteen patterns ship — Sentry, Vex, Wild, Coast, Dune, Wayfinder, Raiser, Shaper, Host, Ward, Silence, Tide, Snout, Rib, Eye, Spire, Flow, Bolt — and eleven materials — Quartz, Iron, Copper, Gold, Lapis, Diamond, Emerald, Redstone, Amethyst, Netherite, Resin.
Presets
A combination with a name, an id and one permission. This is what you sell without explaining anything:
presets:
shogun:
name: "{error}&lSHOGUN"
pattern: "sentry"
material: "netherite"
pieces: []
icon: "SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE"| Key | What it does |
|---|---|
name | Shown on the item, in the menu and in messages. |
pattern | A trim pattern key. |
material | A trim material key. |
pieces | helmet, chestplate, leggings, boots. Empty means all four. |
icon | Material of the trim item. Empty uses trim-item.material from config.yml. |
The eighteen presets that ship:
| Id | Trim | Id | Trim |
|---|---|---|---|
shogun | Sentry · Netherite | bulwark | Ward · Iron |
poltergeist | Vex · Quartz | silence | Silence · Netherite |
verdant | Wild · Emerald | abyss | Tide · Diamond |
tidewalker | Coast · Lapis | bloodsnout | Snout · Redstone |
mirage | Dune · Gold | ossuary | Rib · Copper |
wayfarer | Wayfinder · Copper | oracle | Eye · Amethyst |
sunrise | Raiser · Gold | citadel | Spire · Quartz |
artisan | Shaper · Copper | breeze | Flow · Diamond |
hearth | Host · Resin | voltage | Bolt · Copper |
shogun is exyliaarmortrims.trim.shogun, and it is also what is written onto armor and into the
player's row. Renaming it voids the permission and turns everything stored into a value that no longer
resolves. Change name; never the id.
An id may not contain / either: that slash is what tells a preset apart from a free combination.
Free combinations
What a player builds on the CUSTOM tab has no id: it is stored as pattern/material —
sentry/netherite — and named with the menu.custom-name template from config.yml, which defaults
to %pattern% » %material%.
It takes three nodes at once: the tab, the pattern and the material. So handing somebody a preset never quietly hands them its halves to recombine, and opening the tab never hands them a pattern nobody sold.
Broken entries
An entry in trims.yml that cannot be read is named in the console and skipped; the rest of the
file loads regardless:
| Problem | What is warned |
|---|---|
| Empty id | an entry has an empty id |
Id containing / | a preset id may not contain '/' |
| Missing pattern or material | a trim needs both a pattern and a material |
Unknown piece in pieces | unknown piece "..." |
Trims from code
Another plugin can register presets of its own, and they live alongside the file's: a reload replaces
only the entries that came from trims.yml. See API.
Something missing on this page? Tell us on Discord