> For the complete documentation index, see [llms.txt](https://lethium.gitbook.io/lethium-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lethium.gitbook.io/lethium-docs/configuration/menus-and-icons.md).

# Menus and icons

Menu layouts, shared icons, the hub, the sword quick-menu, rarity frames and the admin panel layout.

Every menu is a chest-style inventory with a configurable layout. Shared pieces are in `config.yml`. Each module's own menu is under `gui:` in its file.

### How a menu layout is described

| Key             | Meaning                                                                                           |
| --------------- | ------------------------------------------------------------------------------------------------- |
| `rows`          | Inventory height, 1 to 6.                                                                         |
| `content-slots` | The slots items are placed into, **counting from 0**, in order. Every other slot gets the border. |
| `slots.<name>`  | Moves a named button (for example `prev: 48`).                                                    |
| `*-material`    | The icon material of a button.                                                                    |
| `border`        | `material`, `custom-model-data`, `name`.                                                          |

Slot numbers in a 6-row menu:

```
 0  1  2  3  4  5  6  7  8
 9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26
27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44
45 46 47 48 49 50 51 52 53
```

A framed 4-row grid uses `[10..16, 19..25, 28..34, 37..43]`.

### Custom icons

Any icon is a **material** plus an optional **`custom-model-data`** number from your resource pack:

```yaml
next-page: {material: BARRIER, custom-model-data: 10010}
```

In the shipped setup, most icons are `BARRIER` with a custom model number, because the resource pack turns that number into a picture. Change the number to use another pack model. A missing or invalid `material` falls back to that button's plain vanilla item, so you can delete any entry safely.

### `gui-icons` (shared icons)

Used wherever a generic icon appears across otherwise unrelated menus.

| Key                                                                      | Used for                                                                                 |
| ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
| `next-page`, `next-page-locked`, `previous-page`, `previous-page-locked` | Page buttons in every paged menu. The `-locked` version shows at the first or last page. |
| `back`                                                                   | The "Return" button.                                                                     |
| `coin`                                                                   | Coins in Trade, Auction House and Gifting pickers.                                       |
| `checkmark`, `crossmark`                                                 | Yes/confirm and no/cancel.                                                               |
| `level`                                                                  | Profile Level in the Profile menu.                                                       |
| `locked`, `unlocked`                                                     | Locked/unlocked state icons (pet slots, cosmetics, lock all).                            |
| `refresh`                                                                | The leaderboard Refresh Now button.                                                      |
| `settings`                                                               | Settings buttons and every filter and sort button.                                       |
| `shopping-cart`                                                          | Auction House Sell and Browse buttons.                                                   |
| `deposit`, `withdraw`                                                    | Echo and pet deposit buttons, clan bank buttons.                                         |
| `border`                                                                 | The border material used by every menu.                                                  |
| `search`                                                                 | The Search button in the admin Give menu.                                                |
| `home`, `backpack`                                                       | Reserved. Not used in any menu yet.                                                      |

### Rarity tooltip frames

```yaml
rarity-tooltips:
  enabled: true
  max-line-length: 28
  common:
    top: "&f光"
    middle: "&f空"
    spacer: "&f空"
    bottom: "&f水"
```

Each of the six rarities (**common, rare, epic, legendary, mythical, ancient**) has a frame drawn with resource-pack font characters: a **top** glyph before the name, a **middle** glyph before every lore line, a **spacer**, and a **bottom** glyph.

{% hint style="danger" %}
The frame characters have their spacing built into the glyph in your resource pack. **Never edit, re-encode, or add offsets to them.** Only change them if you replace the resource pack frame art as well.
{% endhint %}

* `enabled: false` turns frames off everywhere.
* `max-line-length` is the most characters one lore line may hold inside a frame. Lines longer than this are split at a space. Only change it if your frame art changes.
* Item **names** are not split, so a very long name can overflow and must be shortened by hand.
* Framed items hide vanilla attribute lines.
* On Bedrock or without the resource pack the glyphs show as raw characters.

Modules choose a rarity with a `rarity:` key (COMMON, RARE, EPIC, LEGENDARY, MYTHICAL, ANCIENT). It only changes the frame, never the gameplay.

### `gui` (shared settings)

| Key                  | Default | Meaning                                                                                                                                                      |
| -------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `escape-closes-menu` | true    | One Escape closes every menu for good, however deep. `false` makes Escape step back one menu, like the Return button.                                        |
| `border.*`           |         | The decorative border (`name` supports MiniMessage, leave `" "` for no visible name).                                                                        |
| `hub`                |         | The `/clickem` menu: `rows`, `content-slots`, `slots` (how-to-play 22, profile 16, admin 26), `how-to-play-material`, `admin-material`, `profile-material`.  |
| `profile`            |         | The `/profile` menu: slot of each item (head, level, helmet, chestplate, leggings, boots, weapon, artifacts, echoes, pets, clan, stats) and their materials. |
| `category-detail`    |         | Layout of a hub category screen.                                                                                                                             |
| `admin-panel`        |         | Layout of every `/ceadmin` screen.                                                                                                                           |

{% hint style="info" %}
`PLAYER_HEAD` is required for the buttons that show the viewer's own face (hub Profile button and profile head). Any other material drops the skin.
{% endhint %}

#### The sword quick menu

Right-clicking the ClickEm sword opens a 27-slot hub of feature buttons. **Shift + right-click is the ability gesture**, and clicking a chest or door still does its normal thing.

```yaml
gui:
  sword-menu:
    enabled: true
    rows: 3
    content-slots: [9, 10, 11, 12, 13, 14, 15, 16, 17]
    order: [upgrades, skills, ability, artifacts, gearsets, boosts, pets, echoes, navigation]
    buttons:
      upgrades: {material: GOLD_INGOT}
```

| Key             | Meaning                                                                                                                                                                            |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled`       | Turn the quick menu off.                                                                                                                                                           |
| `order`         | Which buttons appear and in which order. Available ids: `upgrades`, `skills`, `ability`, `artifacts`, `gearsets`, `boosts`, `pets`, `echoes`, `navigation`. Remove one to hide it. |
| `content-slots` | Where buttons go. The default fills the whole middle row.                                                                                                                          |
| `buttons.<id>`  | Optional icon override (`material`, optional `custom-model-data`).                                                                                                                 |

A button whose module is disabled is skipped and the rest shift over. Button text is in the language file under `clickem.swordmenu.<id>.name` and `.lore`.

### `hub` (category icons)

```yaml
hub:
  categories:
    combat-power:
      icon: {material: DIAMOND_SWORD}
  entries:
    upgrades: {material: GOLD_INGOT}
    codex: {material: WRITTEN_BOOK}
```

* `categories`: the five hub categories (`combat-power`, `companions`, `progression`, `rewards-extras`, `social`).
* `entries`: one icon per module button, keyed by **button name** (not module id), because artifacts has two buttons (`artifacts` and `codex`).
* Every icon is optional. A missing one uses the built-in default.

### The Admin Panel layout

Under `gui.admin-panel` every `/ceadmin` screen can be re-laid-out: `panel`, `give`, `give-items`, `modules`, `player-picker`, `player-actions`, `economy-player`. Each takes `rows`, `content-slots` or `slots`. The defaults are fine for nearly everyone.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://lethium.gitbook.io/lethium-docs/configuration/menus-and-icons.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
