GUI Configuration
gui.yml controls GUI items, item meta, display conditions, and upgrade item templates.
Item Meta Supported Everywhere
Most GUI items support this format:
slot: 13
material: "COMPARATOR"
amount: 1
name: "<aqua><b>Pet Settings"
lore:
- "<gray>Open pet settings"
model_data: 1001
custom_model_data: 1001
skull_texture: "base64 texture"
glow: true
enchants:
- "sharpness:1"
item_flags:
- "HIDE_ATTRIBUTES"
- "HIDE_ENCHANTS"
hide_attributes: true
hide_enchants: true
hide_unbreakable: true
unbreakable: true
damage: 0
data:
key: "sincepet:example"
value: "example-value"
display:
conditions:
- "active_pet"
Border
border:
material: "BLACK_STAINED_GLASS_PANE"
name: " "
The border is used in the bottom row of collection/upgrades menus and as a filler in detail/settings menus.
Collection Buttons
buttons:
detail:
slot: 48
material: "BOOK"
name: "<aqua><b>Active Pet"
display:
conditions:
- "active_pet"
Default collection buttons:
| Path | Purpose |
|---|---|
buttons.detail |
Opens the active pet detail menu. |
buttons.remove |
Despawns the active pet. |
buttons.previous |
Previous collection page. |
buttons.next |
Next collection page. |
Detail Menu Buttons
detail:
buttons:
ride:
slot: 11
material: "SADDLE"
name: "<green><b>Ride Pet"
display:
conditions:
- "active_pet"
- "rideable"
Default detail buttons:
| Path | Purpose |
|---|---|
detail.buttons.back |
Back to collection. |
detail.buttons.back_detail |
Back to detail menu. |
detail.buttons.ride |
Ride active pet. |
detail.buttons.settings |
Open pet settings. |
detail.buttons.upgrades |
Open pet upgrades. |
Settings Buttons
settings:
show_name:
slot: 10
material: "NAME_TAG"
name: "<aqua>Name Display: <state>"
<state> is replaced with the configured enabled/disabled text from messages.yml.
Default setting buttons:
| Path | Setting |
|---|---|
settings.show_name |
Toggle pet name display. |
settings.auto_attack |
Toggle pet auto attack. |
settings.stat_buff |
Toggle pet stat buff. |
Upgrade Item Templates
Upgrade GUI items are selected by state:
upgrade_items:
available:
locked:
maxed:
| State | Meaning |
|---|---|
available |
Player meets the requirement and can upgrade. |
locked |
Player does not meet the requirement. |
maxed |
Upgrade is already at max level. |
Example:
upgrade_items:
locked:
name: "<red><upgrade>"
lore:
- "<gray>Level: <white><level>/<max_level>"
- "<red><requirement>"
- "<gray>Your value: <red><current_value>"
Upgrade Placeholders
| Placeholder | Meaning |
|---|---|
<pet> |
Pet display name. |
<pet_id> |
Pet ID from pets.yml. |
<upgrade> |
Upgrade display name. |
<upgrade_id> |
Upgrade ID from pets.yml. |
<level> |
Current upgrade level. |
<next_level> |
Next upgrade level. |
<max_level> |
Max upgrade level. |
<papi> |
Raw PlaceholderAPI requirement string. |
<compare> |
Raw compare operator. |
<value> |
Raw required value. |
<current_value> |
Player's resolved PlaceholderAPI value. |
<requirement> |
Friendly requirement.display text from pets.yml. |
<raw_requirement> |
Raw condition such as %playerpoints_points% >= 20. |
<state> |
available, locked, or maxed. |
<stat_bonus> |
Current stat upgrade bonus. |
<next_stat_bonus> |
Next level stat upgrade bonus. |
<damage_bonus> |
Current damage upgrade bonus. |
<next_damage_bonus> |
Next level damage upgrade bonus. |
<commands> |
Commands configured for the upgrade, joined by comma. |
Per-Upgrade Override
Use upgrade_items.items.<upgrade_id> to override one upgrade.
upgrade_items:
items:
ember:
material: "FIRE_CHARGE"
name: "<gradient:red:gold>Custom Ember</gradient>"
model_data: 1001
lore:
- "<gray>Level: <level>/<max_level>"
- "<gray><requirement>"
The key ember must match the upgrade ID in pets.yml.