> 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/cosmetics/categories.md).

# Categories & Cosmetics

Every file in `plugins/EdCosmetics/categories/` is a category. The file name is the category id **and** its placeholder name: `categories/tabpaint.yml` → `%edcosmetics_tabpaint%`. Copy a file to make a new category; there is no limit. Ids can only use `a-z`, `0-9` and `-`. `/cosmetics reload` (or `/edcosmetics reload`) loads new files.

Shipped on the first start:

| File               | Type                |                                        |
| ------------------ | ------------------- | -------------------------------------- |
| `tabpaint.yml`     | COLOR               | Name colour (tab list and chat name)   |
| `chatcolor.yml`    | COLOR               | Chat message colour                    |
| `rankcolor.yml`    | COLOR               | Rank prefix colour                     |
| `tags.yml`         | TEXT                | Tags after the name                    |
| `glow.yml`         | GLOW                | Glowing outline                        |
| `scale.yml`        | SCALE               | Player size                            |
| `hats.yml`         | HAT                 | Astral Crystal Crown, Mini Wumpus Hat  |
| `wings.yml`        | HAT (`slot: chest`) | Halloween, Demon, Emerald Dragon wings |
| `skins.yml`        | SKIN                | Animated skin effects                  |
| `joinmessage.yml`  | JOIN\_MESSAGE       | Join messages + first-join welcome     |
| `leavemessage.yml` | QUIT\_MESSAGE       | Leave messages                         |

## The file

```yaml
type: COLOR            # COLOR, TEXT, GLOW, SCALE, HAT, SKIN, JOIN_MESSAGE or QUIT_MESSAGE
name: '<gradient:#FF7AF5:#7AB8FF>Name Colour</gradient>'
material: NAME_TAG     # icon in the main menu (any menu material, see Menus)
description: ['&7Colour your name in chat and the tab list.']
order: 1               # position in the main menu and the wardrobe
gui: ''                # own menu id (guis/<id>.yml); '' = the shared category menu
show-locked: true      # false hides locked cosmetics in the menus
placeholder:
  default: ''          # what the placeholder gives with nothing equipped
  apply-to: '%player_name%'   # COLOR only: the text _apply paints
  format: '{value}'    # wraps the value (TEXT, COLOR _apply, messages)
  none-name: '&7None'  # what _name gives with nothing equipped
cosmetics:
  sunset:
    name: '<gradient:#FF512F:#F09819>Sunset</gradient>'
    color: 'gradient:#FF512F:#F09819'
    material: ORANGE_TULIP
    description: ['&7A warm orange gradient.']
    permission: 'edcosmetics.cosmetic.tabpaint.sunset'   # this is the default
    order: 1
    rarity: rare          # optional: common, uncommon, rare, epic, legendary, mythic... (wardrobe tile colour)
    limited: 5            # optional: a limited edition (see Unlocking)
```

What each type needs per cosmetic:

| Type                          | Keys                                                       | Page                                                               |
| ----------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------ |
| COLOR                         | `color`                                                    | [Colours & Tags](/p/edcosmetics/cosmetics/colours.md)              |
| TEXT                          | `text`                                                     | [Colours & Tags](/p/edcosmetics/cosmetics/colours.md)              |
| GLOW                          | `color` or `colors` + `interval`                           | [Glow & Scale](/p/edcosmetics/cosmetics/glow-scale.md)             |
| SCALE                         | `scale`                                                    | [Glow & Scale](/p/edcosmetics/cosmetics/glow-scale.md)             |
| HAT                           | `item` / `item-model`, `mode`, `slot`, `equipment` (wings) | [Hats & Wings](/p/edcosmetics/cosmetics/hats-wings.md)             |
| SKIN                          | `preset`                                                   | [Skin Effects](/p/edcosmetics/modules/skin-effects.md)             |
| JOIN\_MESSAGE / QUIT\_MESSAGE | `message`                                                  | [Join & Leave Messages](/p/edcosmetics/cosmetics/join-messages.md) |

Only one glow, scale, skin effect, join message and leave message can be active at a time: with several categories of the same type, the first equipped one (in `order`) wins. Each COLOR and TEXT category is independent.

## Equipping

Players equip from `/cosmetics` (or the wardrobe), or with `/cosmetics equip <category> <cosmetic>` and `/cosmetics unequip [category|all]`. Equipped cosmetics are re-checked on join and every `permission-recheck-seconds` (config.yml, default 30): when access is gone, the cosmetic is taken off.
