Skip to main content

guis.yml

The guis.yml file controls the menus shown to players.

You can change titles, layouts, filler items, buttons, names, lore, and menu icons without editing the plugin code.

How layouts work

A GUI layout is made of rows of characters. Each character is linked to an item in the ingredients section.

Example:

layout:
- "# # # # # # # # #"
- "# S F F F F F C #"
- "# # # # # # # # #"

In this example:

  • # is the border.
  • S is the selected decoration button.
  • H can be used for the active gravestones button.
  • F is filler glass.
  • C is the close button.

Every character used in the layout should have a matching ingredient.

Common item fields

Most GUI items support fields like these:

item:
material: BLACK_STAINED_GLASS_PANE
name: ""
lore: "<gray>Example lore"

Common fields:

FieldDescription
materialMinecraft material used as the icon.
nameDisplay name of the item.
loreText shown under the item name. Use <br> for new lines.

Main GUI sections

personal-gui

This is the menu opened by:

/graves

It shows the player's current decoration and lets them open the decoration selector.

Useful placeholders:

PlaceholderMeaning
%decoration%The name of the selected decoration.

Common ingredient types:

TypePurpose
SelectedShows the selected decoration.
HistoryOpens the player's Active Gravestones GUI.
ItemStatic item, usually border or filler.
CloseCloses the menu.

Example history button:

history:
char: 'H'
type: History
item:
material: MAP
name: "<gold>Active Gravestones"
lore: "<br><gray>Click to view your active gravestones"

selector-gui

This is the decoration selection menu.

Players use this menu to browse available decorations and choose one.

Useful placeholders:

PlaceholderMeaning
%decoration%Decoration name.
%currentpage%Current page number.
%maxpage%Last page number.

Common ingredient types:

TypePurpose
BackPrevious page button.
ForwardNext page button.
ItemStatic item, usually border or filler.
CloseCloses the menu.

grave

This is the menu opened when a player interacts with a grave.

It lets the player recover items and experience.

Useful placeholders:

PlaceholderMeaning
%owner%Name of the player who owns the grave.

Common ingredient types:

TypePurpose
QuickAccessTakes or drops the stored items.
XPTakes or drops the stored experience.
ItemStatic item, usually border or filler.
CloseCloses the menu.

Grave item recovery behavior

In the default grave GUI:

  • Left-click on QuickAccess takes all stored items.
  • Right-click on QuickAccess drops the stored items on the ground.
  • Left-click on XP takes the stored experience.
  • Right-click on XP drops the stored experience.

If there is not enough space in the player inventory, extra items are dropped instead of being lost.

grave-history

This is the Active Gravestones menu opened by:

/graves history

It can also be opened from the personal GUI if you keep the History button enabled.

Each grave item can show:

PlaceholderMeaning
%index%Grave number in the list.
%owner%Grave owner.
%world%Grave world.
%x%, %y%, %z%Grave block coordinates.
%created%When the grave was created.
%timeleft%Remaining time before the grave expires.
%lock%Remaining lock time.
%items%Total item amount.
%stacks%Stack count.
%actions%Permission-based action hints.

%actions% is useful because the lore changes depending on permissions.

  • Players with gravestone.history.open-distance see Click to open.
  • Players with gravestone.history.teleport see Shift Left-Click to teleport.

If a player does not have those permissions, those action lines are not shown.

Default fallback items

At the top of guis.yml, you can set fallback icons:

default-decoration-item:
material: PAPER

default-not-unlocked-item:
material: GRAY_STAINED_GLASS_PANE

These are used when a decoration has no custom display item or when a decoration is locked.

Editing tips

  • Keep each layout row at 9 slots.
  • Use simple materials when testing.
  • Change one menu at a time.
  • If a menu does not open after editing, check the server console for YAML formatting errors.
  • Do not use tabs in YAML files. Use spaces only.