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

# GUIs

GUI, or **G**raphical **U**ser **I**nterface, is a user interface that allows users to interact without the need to run commands.

In Minecraft, GUIs are based on inventories (Chest Inventory).

To edit a menu's title, go to `titles` in the **menus.yml** file:

```yaml
menu-titles:
  0: "Regions"
  1: "Region: &2{region}"
  2: "Player Flags (Global)"
  ...
```

Below `menu-titles`, you will find `menu-items`, which are the buttons for all the menus.

{% hint style="warning" %}
**Warning:** You cannot change a button's slot in a menu, but you can change its title and lore, and the icon.
{% endhint %}

## Button Types

For a button type, you can use Minecraft's materials like Diamonds (`DIAMOND`), Iron Sword (`IRON_SWORD`)... etc. If the material is not found, it will use Barrier as the default type.

You can also use player heads! To set a custom texture for a player head, you must use the second parameter for `PLAYEARHEAD-(Texture)`. So, how do I get the custom texture?

### How do I get a custom player head?

1. Go to [Minecraft Heads](https://minecraft-heads.com/).
2. Search for a head, such as "Grass", and select the one you like the most. In this example, we will choose this head: [Click here!](https://minecraft-heads.com/custom-heads/head/81357-grass-block)
3. Scroll down until you find **Minecraft URL**, and then copy the URL.
4. The URL format is like this: `http://textures.minecraft.net/texture/(Texture)`. Remove all characters before `(Texture)` and voila! You have got the texture ID (something like this: `f9e986ccac3dc804f1bebe054dfb3e800480b7e08b2e7c6a86c84621c756c142`), so copy it.
5. Now, use this format in the button's type: `PLAYERHEAD-(Texture)`, and replace `(Texture)` with the one you copied, so it should look like this: `PLAYERHEAD-f9e986ccac3dc804f1bebe054dfb3e800480b7e08b2e7c6a86c84621c756c142`.

Example button:

```yaml
0123456789: # Button index from menus.yml
  name: "Name of the button"
  lore:
    - "Line 1"
    - "Line 2"
    - "Line 3"
  type: PLAYERHEAD-f9e986ccac3dc804f1bebe054dfb3e800480b7e08b2e7c6a86c84621c756c142
```
