> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/edcosmetics/getting-started/configuration.md).

# Configuration

Every file has comments explaining each option. This page is the map.

## Modules

`config.yml` → `modules`. Turning a module on or off needs a restart; everything else reloads with `/edcosmetics reload`. `/edcosmetics modules` shows which ones run.

```yaml
modules:
  cosmetics: true       # colours, tags, glows, sizes, hats, wings, join messages, /cosmetics
  skin-effects: true    # animated skins (SKIN cosmetics)
  emotes: true          # /emotes
  wardrobe: false       # /cosmetics as a full-screen HUD
```

The pack is its own switch: `resource-pack.enabled`. A module that is off registers no command and no listener.

## Menus: chest GUI or HUD

```yaml
menus:
  cosmetics: gui    # gui = guis/cosmetics.yml, hud = the wardrobe HUD (needs modules.wardrobe)
  emotes: hud       # gui = guis/emotes.yml,    hud = the emote wheel
  click-cooldown-ms: 150
```

A HUD that can't open (no pack yet, Bedrock player, missing layout) falls back to the chest menu.

## Files

| File                                        | What's in it                                                                                                                                    |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `config.yml`                                | modules, menus, resource pack, placeholders identifier, permission prefix, colour format, menu ids, vouchers, limited editions, glow mode, hats |
| `messages.yml`                              | every chat message of `/cosmetics` (`''` turns one off)                                                                                         |
| `categories/*.yml`                          | the cosmetics ([Categories](/p/edcosmetics/cosmetics/categories.md))                                                                            |
| `guis/*.yml`                                | the chest menus ([Menus](/p/edcosmetics/reference/guis.md))                                                                                     |
| `equipment-combos.yml`                      | wing x armour looks the pack ships. Generated, don't edit                                                                                       |
| `skin-effects/config.yml`                   | MineSkin key, presets ([Skin Effects](/p/edcosmetics/modules/skin-effects.md))                                                                  |
| `emotes/config.yml`                         | wheel, emote options ([Emotes](/p/edcosmetics/modules/emotes.md))                                                                               |
| `emotes/emotes.yml`                         | the emotes' animations                                                                                                                          |
| `emotes/wheel.yml`, `hats.yml`, `wings.yml` | generated with the pack, don't edit                                                                                                             |
| `wardrobe/config.yml`                       | categories, texts, button actions ([Wardrobe](/p/edcosmetics/modules/wardrobe.md))                                                              |
| `wardrobe/hud.yml`                          | generated with the pack, don't edit                                                                                                             |

## Placeholder identifier and permissions

```yaml
placeholders:
  identifier: 'edcosmetics'   # %edcosmetics_...%
  aliases: []                 # more identifiers answering the same placeholders
permissions:
  cosmetic-prefix: 'edcosmetics.cosmetic'
```

`aliases` keeps old placeholders working after a move from another plugin, e.g. `aliases: [mycosmetics]` makes `%mycosmetics_tags%` work too.

## Colour format

`hex-format` picks how colours are written into placeholders: `AMPERSAND` (`&#RRGGBB`, TAB and most plugins), `AMPERSAND_X` (`&x&R&R&G&G&B&B`) or `SECTION` (already coloured `§` text).

## Colours in texts

Every text takes `&c`, `&#RRGGBB`, `<#RRGGBB>`, `<gradient:#AAAAAA:#BBBBBB>text</gradient>`, `<rainbow>text</rainbow>` and `<rainbow:3>text</rainbow>` (animated, a full cycle every 3 seconds).

## Player data

`data/<uuid>.yml`: what each player owns and wears. It is read before the player joins; if that takes over 10 seconds they are asked to rejoin (`not-loaded` message). `holders.yml`: the order limited editions were given in. `emotes/favourites/<uuid>.txt`: favourite emotes. `skin-effects/cache`: signed skins.
