> For the complete documentation index, see [llms.txt](https://mdswork.gitbook.io/ragemode-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mdswork.gitbook.io/ragemode-docs/guides/gui-layout.md).

# GUI layout

RageMode comes with many built-in Graphical User Interface (GUI) menus for players for better accessibility. These menus can be customized according to the server owner's needs, depending on the layout they prefer. You can add extra decoration items, reorder menu elements elsewhere, change item enchantment, custom data or anything meta related option.

{% hint style="info" %}
Some GUI menus can not be customised due to limited access to players.
{% endhint %}

## Configuration

These are the complete default layout for all available GUI menus with items. You can add more elements, change slot or add extra decoration items to your liking. To change an item material, lore, enchantments, head to `custom-items.yml` file to create or modify an item to your liking and define the name to `item` property. Head to [Custom items](/ragemode-docs/guides/custom-items.md) page for creating custom items.

{% hint style="warning" %}
Not every `action` type allows you to define an unique item, due to the translations and custom names.
{% endhint %}

To add extra decoration item to the GUI menu, create an item in `custom-items.yml` file and define the item name here:

{% code title="gui-layout.yml" lineNumbers="true" expandable="true" %}

```yml
layout:
  guiName:
    slot-5:
      item: CustomItemName
```

{% endcode %}

### Default configuration

{% code title="gui-layout.yml" lineNumbers="true" expandable="true" %}

```yml
sounds:
  click:
    sound: ui_button_click;1;1;master
  open:
    sound: entity_experience_orb_pickup
    restricted-guis:
    - manage_spawns
    - sign_editor
layout:
  missions:
    slot-28:
      action: close
      item: closeItem
    slot-0_9:
      action: fill
      item: fillItem
    slot-30:
      action: hide_completed_mission
      item: hideCompletedMissionItem
    slot-32:
      action: skip_mission
      item: skipMissionItem
    slot-34:
      action: mission_timer
      item: missionTimerItem
    slot-11_24:
      action: mission
      item: mission
    slot-36_45:
      action: fill
      item: fillItem
    slot-35,27,26,18,17,9:
      action: fill
      item: fillItem
    slot-33:
      action: next_page
      item: nextPageItem
    slot-29:
      action: previous_page
      item: previousPageItem
  manage_spawns:
    slot-40:
      action: previous_page
      item: previousPageItem
    slot-36:
      action: back
      item: backItem
    slot-0_35:
      action: spawn
      item: spawnItem
    slot-41:
      action: next_page
      item: nextPageItem
  skills:
    slot-0_35:
      action: skill
      item: skill
    slot-39:
      action: skill_player_info
      item: skillPlayerInfoItem
    slot-40:
      action: previous_page
      item: previousPageItem
    slot-41:
      action: next_page
      item: nextPageItem
  global_leaderboard:
    slot-11_15:
      action: top_stats
    slot-0_9:
      action: fill
      item: fillItem
    slot-17,18,26,27,35,36,44:
      action: fill
      item: fillItem
    slot-45_53:
      action: fill
      item: fillItem
    slot-20:
      action: top_player_kills
    slot-21:
      action: top_player_damage
    slot-29:
      action: top_zombie_kills
    slot-30:
      action: top_zombie_damage
    slot-42:
      action: my_stats
  game_history:
    slot-0_27:
      action: game_history
    slot-31:
      action: next_page
      item: nextPageItem
    slot-30:
      action: previous_page
      item: previousPageItem
  list_games:
    slot-0_27:
      action: list_games
    slot-31:
      action: next_page
      item: nextPageItem
    slot-30:
      action: previous_page
      item: previousPageItem
  list_players:
    slot-0_27:
      action: list_players
    slot-31:
      action: next_page
      item: nextPageItem
    slot-30:
      action: previous_page
      item: previousPageItem
  player_bet:
    slot-0_27:
      action: player_bet
    slot-31:
      action: next_page
      item: nextPageItem
    slot-30:
      action: previous_page
      item: previousPageItem
  sign_editor:
    slot-0_9:
      action: fill
      item: fillItem
    slot-17,18,26:
      action: fill
      item: fillItem
    slot-27_36:
      action: fill
      item: fillItem
  area_list:
    slot-0_9:
      action: fill
      item: fillItem
    slot-17,18,26:
      action: fill
      item: fillItem
    slot-27_36:
      action: fill
      item: fillItem
    slot-30:
      action: next_page
      item: nextPageItem
    slot-29:
      action: previous_page
      item: previousPageItem
    slot-10_16:
      action: area_list
    slot-20_25:
      action: area_list
    slot-28_35:
      action: area_list
  player_options:
    slot-0_9:
      action: player_options
    slot-10,18:
      action: player_options
  player_stats:
    slot-11:
      action: player_kills
    slot-12:
      action: player_total_damage
    slot-13:
      action: player_games_count
    slot-14:
      action: player_revives
    slot-20:
      action: zombie_kills
    slot-21:
      action: zombie_total_damage
    slot-22:
      action: zombie_games_count
    slot-23:
      action: zombie_revives
    slot-29:
      action: deaths
    slot-30:
      action: longest_kill_streak
    slot-31:
      action: victories
    slot-32:
      action: points
    slot-42:
      action: my_stats
    slot-0_9:
      action: fill
      item: fillItem
    slot-17,18,26,27,35,36,44:
      action: fill
      item: fillItem
    slot-45_53:
      action: fill
      item: fillItem
  special_arrows:
    slot-0:
      action: economy
      item: economyItem
    slot-7:
      action: close
      item: closeItem
    slot-8:
      action: back
      item: backItem
    slot-9:
      action: info
      item: infoItem
    slot-11_15:
      action: special_arrow
    slot-20:
      action: arrow_amount_switcher
      item: arrowAmountSwitcher
      arrow-switching:
        cost: 100
        points: 20
  game_items:
    slot-0:
      action: economy
      item: economyItem
    slot-7:
      action: close
      item: closeItem
    slot-8:
      action: back
      item: backItem
    slot-9:
      action: info
      item: infoItem
    slot-2_6:
      action: game_items
  lobby_shop:
    slot-9:
      action: close
      item: closeItem
    slot-17:
      action: economy
      item: economyItem
    slot-12:
      action: buy_game_items
    slot-13:
      action: buy_arrow_trails
    slot-14:
      action: buy_special_arrows
  arrow_trails:
    slot-0:
      action: economy
      item: economyItem
    slot-7:
      action: close
      item: closeItem
    slot-8:
      action: back
      item: backItem
    slot-9:
      action: info
      item: infoItem
    slot-17:
      action: activate_random_trail
      item: activateRandomTrail
    slot-18_53:
      action: arrow_trail

```

{% endcode %}

### Sounds

There is an option to configure sounds[^1] when clicking inside or when opening a GUI menu by a player. You can define the name of the sound to play, the volume, pitch and even the [category](https://minecraft.wiki/w/Sound#Categories) to play with.

**Configuration**

* The [sound effect](https://jd.papermc.io/paper/org/bukkit/Sound.html) to play separated with `;` characters (optional)
* Allowed syntaxes:
  * `sound`
  * `sound;volume;pitch;category`
  * `sound;volume;pitch`

`restricted-guis` - the list of restricted GUI menus which won't play the sound when opening a GUI inventory. List of GUI menus:

<table><thead><tr><th width="187">Type</th></tr></thead><tbody><tr><td><code>manage_spawns</code></td></tr><tr><td><code>sign_editor</code></td></tr><tr><td><code>setup</code></td></tr><tr><td><code>player_options</code></td></tr><tr><td><code>lobby_shop</code></td></tr><tr><td><code>game_items</code></td></tr><tr><td><code>game_history</code></td></tr><tr><td><code>confirmation</code></td></tr><tr><td><code>list_games</code></td></tr><tr><td><code>player_stats</code></td></tr><tr><td><code>player_missions</code></td></tr><tr><td><code>list_players</code></td></tr><tr><td><code>skills</code></td></tr><tr><td><code>special_arrows</code></td></tr><tr><td><code>player_bet</code></td></tr><tr><td><code>area_list</code></td></tr></tbody></table>

## Slot syntax

You have 3 syntax options for the items to appear.

1. Single slot index
   * <pre class="language-yml" data-title="gui-layout.yml" data-line-numbers data-expandable="true"><code class="lang-yml">layout:
       guiName:
         slot-2:
     </code></pre>
     * This allows you to define a single item for the defined slot in the GUI menu.
2. From-to slot indexing
   * <pre class="language-yml" data-title="gui-layout.yml" data-line-numbers data-expandable="true"><code class="lang-yml">layout:
       guiName:
         slot-0_9:
     </code></pre>
     * This allows you to define multiple same-type items between `0` and `9` slot indexes.
     * This is likely useful for building an unique GUI layout with borders
3. Multiple unique slot indexing
   * <pre class="language-yml" data-title="gui-layout.yml" data-line-numbers data-expandable="true"><code class="lang-yml">layout:
       guiName:
         slot-2,4,6,8:
     </code></pre>
   * This allows you to define multiple same-type items for `2, 4, 6, 8` slot indexes in the GUI menu without affecting `3, 5, 7 ...` slots.

## Action types

\*<mark style="background-color:red;">M</mark><mark style="background-color:red;">arked actions are limited to specific GUI menu category and can not be reused.</mark>

| Name                       | Definition                                                                                                  |
| -------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `close`                    | Closes the currently open inventory                                                                         |
| `back`                     | Returns back to the previous page of the inventory (if there is parent)                                     |
| `fill`                     | Fills the selected slot indexes with an item in the GUI                                                     |
| `info`\*                   | Shows information about the bought items                                                                    |
| `economy`\*                | Displays economy information about how much the player will pay for the items, and how much money they have |
| `hide_completed_mission`\* | Hides the completed missions from the GUI menu                                                              |
| `skip_mission`\*           | Shows how many missions can be skipped                                                                      |
| `mission_timer`\*          | Shows the mission reset timer                                                                               |
| `mission`\*                | The currently running mission                                                                               |
| `spawn`\*                  | The added game spawn                                                                                        |
| `skill`\*                  | The available skill                                                                                         |
| `skill_player_info`\*      | Player's skill info                                                                                         |
| `top_stats`\*              | Shows the top leaderboard of specific stat                                                                  |
| `top_player_kills`\*       | Shows the top player kills                                                                                  |
| `top_player_damage`\*      | Shows the top player damage                                                                                 |
| `top_zombie_kills`\*       | Shows the top zombie kills                                                                                  |
| `top_zombie_damage`\*      | Shows the top zombie damage                                                                                 |
| `my_stats`\*               | Shows the player statistics                                                                                 |
| `game_history`\*           | Shows the game history                                                                                      |
| `list_games`\*             | Shows the available games                                                                                   |
| `list_players`\*           | Shows the available playing players                                                                         |
| `player_bet`\*             | Displays the playing players to place a bet on                                                              |
| `player_options`\*         | Displays the available player options                                                                       |
| `player_kills`\*           | Shows the player kills                                                                                      |
| `player_total_damage`\*    | Shows the player total damage                                                                               |
| `player_games_count`\*     | Shows the player games count                                                                                |
| `player_revives`\*         | Shows the player revives count                                                                              |
| `zombie_kills`\*           | Shows the zombie kills count                                                                                |
| `zombie_total_damage`\*    | Shows the total zombie damage count                                                                         |
| `zombie_games_count`\*     | Shows the total games count                                                                                 |
| `zombie_revives`\*         | Shows the zombie game revives count                                                                         |
| `deaths`\*                 | Shows the number of deaths                                                                                  |
| `longest_kill_streak`\*    | Shows the longest kill streak count                                                                         |
| `victories`\*              | Shows the number of victories                                                                               |
| `points`\*                 | Shows the number of points                                                                                  |
| `special_arrow`\*          | Shows special arrows                                                                                        |
| `arrow_amount_switcher`\*  | Shows the arrow amount switcher in special arrows GUI                                                       |
| `game_items`\*             | Shows game items                                                                                            |
| `buy_game_items`\*         | Shows the buy game items icon                                                                               |
| `buy_arrow_trails`\*       | Shows the buy arrow trails icon                                                                             |
| `buy_special_arrows`\*     | Shows the buy special arrows icon                                                                           |
| `activate_random_trail`\*  | Shows the activate random trail button                                                                      |
| `arrow_trail`\*            | Shows the arrow trails                                                                                      |
| `area_list`\*              | Shows the list of game areas                                                                                |

[^1]: <https://minecraft.wiki/w/Sound>
