Installation
Dependencies, the files it writes on first start, the wardrobe table, and what updating covers.
Installing
Drop in the jars
ExyliaArmorSkin.jar, plus ExyliaLib and packetevents, into plugins/. PlaceholderAPI is
optional: it is only used to resolve %placeholders% written in the item names and lore.
Start the server
It writes config.yml, skins.yml and animations.yml under plugins/ExyliaArmorSkin/. While
the wardrobe is on it also writes menus/wardrobe.yml, opens database.yml and creates its
table.
Give yourself a skin
/armorskinsadmin give <you> galaxy, then drag the item onto a chestplate in your inventory.
Edit the files
Add or change skins in skins.yml and animations in animations.yml, then /armorskinsadmin reload.
It is declared as depend, so the server refuses to enable this plugin without it. The whole plugin
is a packet rewrite — there is nothing it can do without it. ExyliaLib is declared as softdepend
for load ordering, but the plugin is built on it and will not work without it either.
Requirements
| Requirement | Notes |
|---|---|
| Minecraft 1.21+ | api-version: '1.21', built against the Paper 1.21.4 API. |
| Java 21 | The jar is compiled for 21. |
| Paper, or Folia | It uses Paper's armour-change event and sendEquipmentChange. Folia is supported (folia-supported: true). |
| ExyliaLib | Configuration, text, items, effects and tasks. |
| packetevents | Required. Equipment, set-slot and window-items packets are rewritten through it. |
| PlaceholderAPI | Optional. Only for %placeholders% inside the item name and lore. |
Files
| File | Contents |
|---|---|
config.yml | The skin item, the remover item, the lore added to skinned armour, the wardrobe wording, the behaviour switches and every message. |
skins.yml | The skins themselves, keyed by id. |
animations.yml | Named animations a skin can refer to. |
menus/wardrobe.yml | The wardrobe screen: the armour row, the skin grid, its templates and buttons. Written only while the wardrobe is on. |
database.yml | Where wardrobes are stored. H2 by default. |
The table
armorskin_wardrobe, one row per player: the uuid and one column per piece — helmet,
chestplate, leggings, boots — each holding a skin id or nothing.
It is only read and written while the wardrobe is on (behaviour.mode is wardrobe or both). On
an item server the only thing written outside the files is the skin id on the armour itself.
A skin id in a column that skins.yml no longer declares simply draws nothing — the row is left
alone, and the look returns if the skin comes back.
Unlike most Exylia plugins, this one has no messages.yml. Every line it sends is under messages:
in config.yml.
Updating
Replace the jar and restart. /armorskinsadmin reload re-reads those files, rebuilds every skin and
redraws everyone online, so a colour change is visible without anybody re-equipping.
Something missing on this page? Tell us on Discord