Permissions
The wardrobe node, the admin node, the per-skin and per-piece nodes, and the two switches that decide whether they are enforced.
The nodes
| Permission | Default | Grants |
|---|---|---|
exyliaarmorskin.wardrobe | — | /wardrobe. |
exyliaarmorskin.admin | op | Every subcommand of /armorskinsadmin: give, remover, list, refresh, wardrobe open, wardrobe clear and reload. |
exyliaarmorskin.skin.<id> | — | Applying and wearing that one skin, on every piece it fits. |
exyliaarmorskin.skin.<id>.<piece> | — | That skin on one slot only: helmet, chestplate, leggings or boots. |
exyliaarmorskin.skin.* | op | Every skin. |
Both fixed nodes are declared in plugin.yml with default: op, so an operator owns every skin out
of the box and everybody else owns none until you say otherwise.
The per-skin node
There is no permission key in skins.yml: the node is derived from the id, lowercased, so the
skin galaxy is always exyliaarmorskin.skin.galaxy. Add a skin and its node exists; rename it and
the node renames with it.
Selling half a skin
Each slot has a node of its own, exyliaarmorskin.skin.<id>.<piece>. The whole-skin node covers all
four; a piece node covers exactly one.
/lp group vip permission set exyliaarmorskin.skin.celestial.helmet trueIn the wardrobe a skin the player owns for one piece is offered on that piece, and dressing the full set dresses only the pieces they are allowed to wear — a rank holding one piece still gets it rather than being refused outright.
/lp group default permission set exyliaarmorskin.wardrobe true
/lp group vip permission set exyliaarmorskin.skin.galaxy true
/lp group mvp permission set exyliaarmorskin.skin.* trueWhat the node is checked for
Applying
Dragging a skin item onto armour, or wearing one in the wardrobe, without the node is refused
with the no-permission message. Nothing is written and nothing is consumed. Governed by
behaviour.require-permission.
Wearing
A piece whose skin the wearer may not use is drawn as the real armour — to them and to
everyone else — and it plays no effects. The id stays on the item, untouched. Governed by
behaviour.hide-without-permission.
The wearing check runs whenever the piece is reconciled: on equip, on join, on respawn, on
/armorskinsadmin refresh and on /armorskinsadmin reload. Revoking a node mid-session therefore takes effect
on the next of those — /armorskinsadmin refresh <player> makes it immediate. Granting it back and
refreshing brings the skin straight back, because nothing was ever removed from the item.
The two switches
behaviour:
require-permission: true
hide-without-permission: true| Combination | Result |
|---|---|
Both true (default) | A skin is owned: you need the node to apply it and to be seen wearing it. |
require-permission: false | Anybody holding the item can apply it, but a wearer without the node is still shown the real armour. |
hide-without-permission: false | The node is needed to apply, but once applied the skin is shown to everyone forever — a permission that only gates the purchase. |
Both false | Nobody is checked. This is how the plugin behaved before per-skin permissions existed. |
/armorskinsadmin give hands out any skin item to any player, and apply() in the API writes any skin
onto any piece, regardless of the node or of require-permission — those are the tools you use to
grant a skin. What the wearer lacks the node for is the display, which hide-without-permission
governs.
Selling skins
Because a skin travels as an item and carries a node, you can sell either half:
| You want | Do |
|---|---|
| A consumable a player buys once | Give the item and grant the node with it. |
| A rank perk | Grant exyliaarmorskin.skin.galaxy to the rank; hand the item out freely. |
| A skin anyone may use | Grant its node to default, or turn both switches off. |
| A skin that stops working when a rank expires | Grant only the node, leave hide-without-permission: true. The armour keeps the id — or the wardrobe keeps the row — and the look returns the day the rank does. |
| A skin on one slot only | Grant exyliaarmorskin.skin.<id>.<piece> instead of the whole node. |
With consume-skin-item: true — the default — applying eats the item, so a skin is a consumable.
Turn it off and one item skins an unlimited number of pieces.
Something missing on this page? Tell us on Discord