Content generated with AI — it may contain mistakes.

Getting started

Installation

Dependencies, the files it writes, and when it opens a database.

Installing

Drop the jars in

ExyliaArmorTrims.jar and packetevents in plugins/. ExyliaLib is a soft depend: if it is missing, the loader installs it on the first start.

Start the server

It writes config.yml, trims.yml and menus/trims.yml.

Pick the mode

behaviour.mode in config.yml: item, menu or both. See Modes and items.

Grant the permissions

With no nodes granted the menu opens locked. See Permissions.

Files

FileContents
config.ymlMode, items, armor lore, effects, menu wording and messages.
trims.ymlThe patterns and materials on offer, and the named presets.
menus/trims.ymlThe one trim screen.
database.ymlOnly when the mode uses the menu. H2 by default.

The database

With mode: item none is opened: a server running on trim items alone stores nothing per player, and never finds a database.yml it did not ask for. An /armortrimsadmin reload that turns the menu on opens it then.

With menu or both, choices live in the armortrim_selection table, one row per player and one column per piece:

ColumnWhat it holds
uuidThe player.
helmet, chestplate, leggings, bootsA preset id — shogun — or a pattern/material pair — sentry/netherite.

Four columns rather than a JSON blob on purpose: they can be read, queried and exported.

A slot may hold something that no longer exists

A value the registry does not know — a preset deleted from trims.yml, a material you removed — is not drawn and is not cleaned up. It comes back the day the entry does, which is what a typo in a reload deserves.

Updating

Replace the jar and restart. /armortrimsadmin reload re-reads config.yml, trims.yml and the menu, and redraws everybody online.

Something missing on this page? Tell us on Discord