> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://aetherskywarswiki.netlify.app/api/mcp` to find what you need.

# Items and slots

One item format, used by kits, chest loot, and every hotbar the plugin hands out.

<img src="/hotbar-slots.svg" alt="The lobby hotbar slots numbered 0 through 8" />

## The item format

Wherever the plugin lets you define an item, it accepts the same set of keys.

```yaml
MATERIAL: DIAMOND_SWORD          # [1]
AMOUNT: 1                        # [2]
NAME: "&#5AC8FA&lBlade"                # [3]
LORE:                            # [4]
  - "&#9BA6B2Sharp."
  - "&#6B7683Second line."
SLOT: 0                          # [5]
DAMAGE: 12                       # [6]
CUSTOM_MODEL_DATA: 1001          # [7]
ENCHANTMENTS: sharpness:5;knockback:2   # [8]
ITEM_FLAGS: HIDE_ENCHANTS;HIDE_ATTRIBUTES  # [9]
LEATHER_ARMOR_COLOR: 16711680    # [10]
SKULL: self                      # [11]
```

1. Required. The Minecraft material name.
2. Stack size. Defaults to 1.
3. Display name. Colour codes work, see [Colors](/configuration/colors).
4. Lore lines, one list entry per line.
5. Inventory slot, counting from 0. Only used where a slot makes sense, like kits.
6. Durability damage, for tools and armour.
7. Custom model data, for resource packs.
8. Enchantments as `id:level`, several separated by semicolons. Use current Minecraft ids,
   for example `sharpness`, not `DAMAGE_ALL`.
9. Item flags, separated by semicolons.
10. Leather armour colour, as a single RGB integer.
11. Only on a `PLAYER_HEAD`. Three things go in it, and it is ignored on anything that is not a
    head. See [Custom head textures](/configuration/items-and-slots#custom-head-textures).

### Custom head textures

`SKULL` takes any of three things.

| Value | What you get |
| --- | --- |
| `self` | The skin of whoever is holding the item. This is what makes the profile button show your own face. |
| A player name | That player's face, fixed. Up to sixteen characters, because no Minecraft name is longer. |
| A texture value | The long base64 string a head site gives you, for a face that belongs to no account at all. |

Anything longer than sixteen characters is read as a texture rather than a name.

```yaml [plugins/AetherSkyWars/items.yml]
Friends:
  MATERIAL: PLAYER_HEAD
  SKULL: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0..."
  SLOT: 7
```

Copy the value from a site such as minecraft-heads, where it is usually labelled "Value" under
the Other section of a head. Paste it in quotes, all on one line.

:::note
A texture that does not decode, or decodes without a skin url in it, leaves the head blank and
says so in the console. Nothing else breaks.
:::

Books, banners, fireworks, and potions carry their own extra data and are preserved when you
save them from in game.

:::tip
Do not write these by hand. Hold the item you want, run `/asw item2config`, and paste what it
prints. That is the fastest way to get custom model data and enchantments exactly right.
:::

## Hotbar slots

The plugin gives players a small hotbar in four situations. Which slot an item lands in is a key
on the item itself, in `items.yml`.

```yaml [plugins/AetherSkyWars/items.yml]
Items:
  Profile:
    MATERIAL: PLAYER_HEAD
    SLOT: 0
  Maps:
    MATERIAL: NETHER_STAR
    SLOT: 4
  Shop:
    MATERIAL: EMERALD
    SLOT: 8
    SPECTATOR-SLOT: 4
  Wardrobe:
    MATERIAL: ARMOR_STAND
    SLOT: 2
  Player-Settings:
    MATERIAL: COMPARATOR
    SLOT: 6
  Friends:
    MATERIAL: PLAYER_HEAD
    SLOT: 7
```

Slots are 0 to 8, left to right along the hotbar.

| Hotbar | When a player has it | Items in it |
| --- | --- | --- |
| Lobby | Standing in the lobby, outside any match. | `Profile`, `Wardrobe`, `Maps`, `Player-Settings`, `Friends`, `Shop` |
| Cage | In the cage, waiting for the drop. | `Kit`, `Vote`, `Leave` |
| Spectator | Dead, watching a match they were in. | `Spectate`, `Play-Again`, `Shop`, `Leave` |
| Setup | An admin editing an arena. | `Cage`, `Chest1`, `Chest2`, `Spectator`, `Settings`, `Save` |

`Shop` is the one item that appears in two hotbars at different slots, so it takes a
`SPECTATOR-SLOT` as well as a `SLOT`. `Leave` appears in two as well, but at the same slot in
both, so one `SLOT` covers it.

:::warning
The slot decides **what an item does**, not only where it sits. The plugin matches items by slot
rather than by material, so any item held in a setup slot acts as that setup item while you are
editing an arena. It also means changing a `MATERIAL` can never stop an item working.
:::

:::note
Two items in the same slot means one overwrites the other. If a button seems missing, check
you have not given it the same number as another.
:::

:::note
Slots used to live under `Config.Item-Slots` in `config.yml`. They are moved onto their items on
the first start after updating, keeping the arrangement you had.
:::

## Changing how the items look

Every item above can be restyled in `items.yml`, using the item format from the top of this
page. The same block holds its `SLOT`, so an item and where it appears live together.

```yaml [plugins/AetherSkyWars/items.yml]
Items:
  Maps:
    MATERIAL: NETHER_STAR
    AMOUNT: 1
    NAME: "&#FFC857&lMaps Browser"
    LORE:
      - "&#9BA6B2Browse available arenas."
    CUSTOM_MODEL_DATA: 1002
  Leave:
    MATERIAL: BARRIER
    AMOUNT: 1
    NAME: "&#FF6B6B&lLeave"
    LORE:
      - "&#9BA6B2Leave the current session."
```

Names and lore take the full colour set, so `&`-codes, `&#RRGGBB`, gradients, rainbows and the
named palette all work. See [Colors](/configuration/colors) for the whole syntax and the palette.

:::note
These used to live under `Config.Items` in `config.yml`. They are moved across on the first
start after updating, keeping any changes you had made.
:::

The item keys are the same names used in `Item-Slots`:

| Key | Where it appears |
| --- | --- |
| `Profile` | Lobby. Opens the player's profile. |
| `Maps` | Lobby. Opens the arena browser. |
| `Shop` | Lobby and spectator. Opens the shop. |
| `Wardrobe` | Lobby. Opens the wardrobe, where owned cosmetics are equipped. |
| `Player-Settings` | Lobby. Opens a player's own settings. Not `Settings`, which is the arena setup item. |
| `Friends` | Lobby. Opens the friend list. See [Friends](/features/friends). |
| `Kit` | Cage. Opens the kit picker. |
| `Vote` | Cage. Opens the vote menu. |
| `Cage` | Cage hotbar, and the setup hotbar for placing cages. |
| `Leave` | Cage and spectator. Leaves the match. |
| `Spectate` | Spectator. Teleports to a living player. |
| `Play-Again` | Spectator. Queues for another match. |
| `Chest1` | Setup. Tags a chest as an island chest (`NORMAL`). |
| `Chest2` | Setup. Tags a chest as a middle chest (`MID`). |
| `Spectator` | Setup. Sets the spectator point to where you stand. |
| `Settings` | Setup. Opens the map settings menu. |
| `Save` | Setup. Finishes and registers the arena. |

:::note
Setup items are matched by the **slot** they sit in, not by their material, so restyling one
here keeps it working. This also means an unrelated item held in a setup slot acts as that
setup item while you are editing an arena.
:::

### Menu buttons

Every button inside every menu, and the slot it sits in, is in the `menus` folder. The wording of the
shared ones comes from the language files so it stays translated. See
[Menus](/configuration/menus) and
[Messages and languages](/configuration/messages-and-languages).

## Related pages

* [Kits](/features/kits)
* [Chests and loot](/features/chests-and-loot)
* [Menus](/configuration/menus)
* [Configuration](/configuration/configuration)
