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

# Creating GUI

Let's take a look and go threw a tutorial how to create a gui.

### :footprints: First steps

1. Go to the plugin, that run on our GUI Library.
2. Open plugin folder and then open folder "guis"
3. If you want to make better orientation in your files you can create subfolders for your guis\
   e.g.: <mark style="color:blue;">`guis/survival/xxx.yml`</mark>
4. Create a gui file (e.g.: example.yml)
5. Then insert required lines. Everything is below.

### :red\_circle: Required

#### - GUI Title

Title is a short text describing what the menu is about. Title can be found at the top of the menu above the slots.

{% code title="example.yml" overflow="wrap" lineNumbers="true" %}

```yaml
title: 'your text'
```

{% endcode %}

#### - GUI Rows

Rows is a number of menu lines inserted in a text form.\
Rows types: ONE | TWO | THREE | FOUR | FIVE | SIX

{% code title="example.yml" overflow="wrap" lineNumbers="true" %}

```yaml
rows: SIX # six rows (54 slots // large chest)
```

{% endcode %}

#### - GUI ItemMap

Item map is special slot system. But it is better than normal slot, because there is no numbers.\
Every item in the menu have own letter or symbol. When you add that item letter/symbol to the item map, slot will be automatically calculated by the system.\
\
At first paste this to your item map:\
\- '---------'\
this is empty row\... If you have 5 rows, paste this 5 times.\
Then only add symbols...\
\
e.g.:

{% code title="example.yml" overflow="wrap" lineNumbers="true" %}

```yaml
# G - glass
# S - skull

item-map:
- '-GG-S-GG-'
```

{% endcode %}

### :blue\_circle: Optional

#### - GUI Type

If you want, you can change your gui type to a guis that's not a really normal on other servers.

{% tabs %}
{% tab title="Chest" %}
{% code overflow="wrap" lineNumbers="true" %}

```yaml
type: CHEST

#item map example
item-map:
- '---------'
- '---------'
- '---------'
```

{% endcode %}

![](https://4132704493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd8nCQMPdPy7uiPgCET2S%2Fuploads%2FYQN253XkdhjgrphLJ63H%2Fobrazek.png?alt=media\&token=d8eb4927-3d96-46c7-a7e9-5ac6f51cf5ea)
{% endtab %}

{% tab title="Hopper" %}
{% code overflow="wrap" lineNumbers="true" %}

```yaml
type: HOPPER

#item map example
item-map:
- '-----'
```

{% endcode %}

![](https://4132704493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd8nCQMPdPy7uiPgCET2S%2Fuploads%2FJpRcP91bX4UwMdGhZ2Am%2Fobrazek.png?alt=media\&token=a2f3b79b-3d6b-481d-ae7e-ae1b0b545233)
{% endtab %}

{% tab title="Dropper" %}
{% code overflow="wrap" lineNumbers="true" %}

```yaml
type: DROPPER

#item map example
item-map:
- '---'
- '---'
- '---'
```

{% endcode %}

![](https://4132704493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd8nCQMPdPy7uiPgCET2S%2Fuploads%2FIFkRzpwzXsuJAfzXMyi1%2Fobrazek.png?alt=media\&token=6794085b-4c3d-4866-8064-6e7bd924e276)
{% endtab %}

{% tab title="Anvil" %}
{% code overflow="wrap" lineNumbers="true" %}

```yaml
type: ANVIL

#item map example
item-map:
- '---'
```

{% endcode %}

![](https://4132704493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd8nCQMPdPy7uiPgCET2S%2Fuploads%2FJPKpmp6KO2xgomA0VFpQ%2Fobrazek.png?alt=media\&token=d7b6925e-e23f-4ab7-b99d-f7c00833d2d8)
{% endtab %}

{% tab title="Furnace" %}
{% code overflow="wrap" lineNumbers="true" %}

```yaml
type: FURNACE

#item map example
item-map:
- '---'
```

{% endcode %}

![](https://4132704493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd8nCQMPdPy7uiPgCET2S%2Fuploads%2FEOEyc83ANLUt2vbeDUtL%2Fobrazek.png?alt=media\&token=e7427198-42dc-46fc-aa86-d6868c420847)
{% endtab %}
{% endtabs %}

#### - Open/Close actions&#x20;

Actions that will run when a player open/close gui.&#x20;

{% code overflow="wrap" lineNumbers="true" %}

```yaml
open-actions:
...

close-actions:
...
```

{% endcode %}
