This page dissects plugins/ClothesPlus/guis.yml
lineâbyâline so you can reskin or reâlayout every builtâin menu without touching Java.
/overlays
/outfits
Basic rule of thumb
⢠Anything underwardrobe:
affects the overlayâselection GUIs.
⢠Anything undergui:
(bottom of the file) belongs to the Outfits manager.
⢠If a value is missing, the plugin falls back to the nearest parent (â no mandatory keys).
wardrobe
overlay-item
material PAPER
custom-model-data0
name"&b{overlay}"
glow-enchant unbreaking
Key | What it does |
| Bukkit |
| Integer sent to the client â hook for resourceâpack models. |
| DisplayName for the icon. Supports colour codes and placeâholders â |
| (Optional) Fake enchantment forcibly applied to equipped overlays so they glow. Use any Bukkit enchant key ( |
overlay-unequip-item
material BARRIER
custom-model-data0
name"&cUnequip {overlay}"
Fallback icon for the big red âunequipâ button that shows on the first slot when you are wearing something inside a category.
overlay-lore
"&7Click to equip"
overlay-lore-locked
"&cYou donât own this overlay"
unequip-lore
"&7Remove current overlay"
Every list entry is a lore line.
Placeholders: {overlay}
again works here.
overlay-lore-locked
is shown if the player lacks the perâoverlay permission.
Placed on navigation-row
(0 = top). The row itself and the amount of rows
define the inventory size.
Each button block shares the same structure:
prev
slot 0 # column (0â8) inside navigationârow
material PAPER
custom-model-data550002
name"&6Previous" # display when enabled
material-disabled PAPER
custom-model-data-disabled550000
Keys ending in -disabled
are used automatically when the button would do nothing â e.g. first page â prev is disabled.
Available buttons: prev
, next
, outfits
, back
, search
. (All optional â remove a block to hide it.)
The Search button enters a chatâbased filter; set material-disabled
or name-disabled
if you want a greyedâout state while a filter is active.
titles
categories"&f<shift:-11><glyph:wardrobecategory>"
overlays"&f<shift:-11><glyph:wardrobe_2>"
categories
â main wardrobe index (shirt/pants/⌠tiles).
overlays
â perâcategory list.
Miniâplaceâholders <shift:x>
and <glyph:name>
come from MiniMessage
â they move text or insert a resourceâpack glyph.
categories
shirts
title"&f<shift:-11><glyph:wardrobe_2>"
slots 0 1 2 9 10 11 # where THIS tile appears in the index GUI
item# icon for the tile itself
material PAPER
custom-model-data550000
name"&aShirts"
Key | Purpose |
| Overrides |
| List of slot indexes (0â53) where the tile appears in the categories menu. Use |
| Standard icon block (same keys as overlayâitem). |
| Perâstate overrides that shadow the global defaults just for this category. |
Blocks: available
, locked
, unequip
, equipped
. Any missing key falls back up the chain â category â wardrobe â hardâcoded default.
overlay-icons
available
material PAPER
custom-model-data500000
locked
material PAPER
custom-model-data500002
unequip
material PAPER
custom-model-data500001
equipped
material PAPER
custom-model-data500012
Tip You can delete the whole
overlay-icons
section if you only want to swap the tile icon but keep global overlay materials.
Same idea but fewer moving parts. All keys live under gui:
.
use_player_heads: true
â show each outfit as the ownerâs head (with CSP textures) instead of a leather chestâplate.
titles
no_buttons'&f<shift:-29>ę'
left_button'&f<shift:-29>ę'
right_button:'&f<shift:-29>ę'
both_buttons:'&f<shift:-29>ę'
The GUI picks one depending on whether a Previous/Next page exists.
Structure identical to wardrobe items:
add_button
material PAPER
custom_model_data550000
display_name'&aAdd Outfit'
All strings use Spigot colour codes (& §). List values become lore lines.
Button IDs (all optional): outfit_item
⢠add_button
⢠delete_button
⢠load_button
⢠prev_page_button
⢠next_page_button
⢠sign_button
⢠tokens_display
sign_button
adds an inâgame sign prompt; inside it you can theme:
sign_button
sign
material OAK_SIGN
lines
'%search%'
'----------------'
'Please enter a'
'search result.'
%search%
becomes the typed query when the GUI reâopens.
Code / Placeholder | Meaning |
| Legacy RGB / format codes used by Spigot ( |
| Resolved at runtime â just the PNG name ( |
| MiniMessage shift; moves glyphs horizontally. |
| MiniMessage custom glyph (needs RP font). |
| Current search query (Outfits GUI). |
Resourceâpack â verify every customâmodelâdata actually exists.
Material names â must match Spigot API 1.18+ (PAPER
, not paper
).
YAML syntax â spaces, not tabs; use online YAML validator if in doubt.
Hot reload â /clothes reload
or full server restart to apply edits.