# gui reference

PracticeBot GUI files use the same general structure.

## Basic structure

```yaml
title: "&8&lExample GUI"
size: 27

filler:
  enabled: true
  material: GRAY_STAINED_GLASS_PANE
  name: " "

items:
  example:
    slot: 13
    material: BOOK
    name: "&bExample"
    lore:
      - "&7Line one"
      - "&eLine two"
    glow: false
    action: none
```

## Common fields

| Field                    | Description                                                    |
| ------------------------ | -------------------------------------------------------------- |
| `title`                  | Inventory title. Supports color formatting.                    |
| `size`                   | Inventory size. Must be multiple of 9 from 9 to 54.            |
| `filler.enabled`         | Whether empty slots are filled.                                |
| `filler.material`        | Filler material.                                               |
| `items.<key>.slot`       | Slot index.                                                    |
| `items.<key>.material`   | Bukkit material name.                                          |
| `items.<key>.name`       | Display name.                                                  |
| `items.<key>.lore`       | Lore lines.                                                    |
| `items.<key>.glow`       | Adds glow effect where supported.                              |
| `items.<key>.action`     | Internal action identifier. Do not invent unsupported actions. |
| `items.<key>.item-flags` | Optional Bukkit item flags.                                    |

## Color formats

```
&a
&#FF5555
rgb:255,85,85
<gradient:#FF0000:#0000FF>text</gradient>
```

## Important GUI actions by file

### `settings_menu.yml`

* `toggle_look`
* `toggle_follow`
* `toggle_random`
* `toggle_hold_shield`
* `toggle_use_shield`
* `toggle_resistance`
* `open_pvp`
* `open_inventory`
* `despawn`
* `close`

### `pvp_settings.yml`

* `toggle_pvp`
* `toggle_strafe`
* `toggle_wtap`
* `toggle_stap`
* `toggle_crits`
* `toggle_shield_breaker`
* `toggle_retreat`
* `cycle_reach`
* `cycle_crit_chance`
* `cycle_crit_speed`
* `cycle_aggro`
* `back`

### `cpvp_settings.yml`

* `toggle_enabled`
* `cycle_skill`
* `toggle_block_breaking`
* `toggle_pearls`
* `adjust_pearl_cooldown`
* `toggle_mace`
* `toggle_gapples`
* `adjust_heal_threshold`
* `toggle_strafe`
* `toggle_obsidian`
* `toggle_anchoring`
* `reset_settings`
* `open_bot_inventory`
* `despawn_bot`
* `close`

## Safe editing checklist

* Keep action names unchanged.
* Use valid materials.
* Avoid duplicate functional slots.
* Keep dynamic placeholders if you need dynamic display values.
* Test after `/pbadmin reload`.
* Back up `gui/` before large redesigns.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://edelweiss-network.gitbook.io/practicebot/reference/gui-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
