Built-in Actions

GroupActions
Player flowview-grave, pay-claim, pay-claim-disabled, ticket-use, give-up
Pagination and layoutpage-prev, page-next, empty-state, info, decoration
Admin flowadmin-view-grave, admin-claim-self, admin-claim-target, admin-delete, admin-back, admin-page-prev, admin-page-next

Practical Action Examples

Below are small real-world snippets that show how these actions are typically configured inside a GUI file.

view-grave

Use this on the repeated player list item that opens one saved grave in the detail menu.

grave_entry:
  material: CHEST
  action: view-grave
  slots:
    - 10
    - 11
    - 12
  display_name: "&e&lDeath Save #{index}"

pay-claim

Use this when the grave can currently be reclaimed for currency.

pay:
  material: EMERALD
  action: pay-claim
  slot: 52
  view_requirement: "{price_available}"
  display_name: "&a&lReclaim Items"

pay-claim-disabled

Use this as the fallback button when paid reclaim is unavailable for the selected grave.

pay_disabled:
  material: BARRIER
  action: pay-claim-disabled
  slot: 52
  view_requirement: "{price_unavailable}"
  display_name: "&c&lCurrency Claim Disabled"

ticket-use

Use this when you want the player to restore the grave by consuming one virtual ticket.

ticket:
  material: PAPER
  action: ticket-use
  slot: 53
  model_data: 2
  display_name: "&e&lUse Ticket"

give-up

Use this to dissolve the grave and drop its contents at the saved death location.

give_up:
  material: EGG
  action: give-up
  slot: 51
  display_name: "&a&lGrave Give Up"

page-prev and page-next

Use these on paginated list menus such as the main player grave browser or the admin grave browser.

previous_page:
  material: ARROW
  action: page-prev
  slot: 18

next_page:
  material: ARROW
  action: page-next
  slot: 26

info

Use this for pure information items that do not trigger logic, such as saved XP or target metadata.

xp_info:
  material: EXPERIENCE_BOTTLE
  action: info
  slot: 50
  display_name: "&bSaved XP: &a{xp}"

decoration

Use this for fillers and separators that only shape the GUI visually.

separator:
  material: GRAY_STAINED_GLASS_PANE
  action: decoration
  slots:
    - "36-44"
  display_name: " "

admin-view-grave

Use this in the admin list menu to open one selected grave of the target player.

grave_entry:
  material: CHEST
  action: admin-view-grave
  slots:
    - 10
    - 11
    - 12
  display_name: "&c&lGrave #{index}"

admin-claim-self

Use this in the admin detail menu to restore the grave directly to the admin viewer.

claim_self:
  material: ENDER_CHEST
  action: admin-claim-self
  slot: 52
  display_name: "&a&lClaim To Yourself"

admin-claim-target

Use this to restore the grave directly to its original owner.

claim_target:
  material: CHEST_MINECART
  action: admin-claim-target
  slot: 53
  display_name: "&b&lClaim To Owner"

admin-delete and admin-back

Use these in the admin detail view for destructive management and safe navigation back to the list.

delete:
  material: LAVA_BUCKET
  action: admin-delete
  slot: 44

back:
  material: ARROW
  action: admin-back
  slot: 51

Supported GUI Item Options

  • material, slot, slots, and slot ranges such as "0-26"
  • amount, damage, model_data, and priority
  • display_name, lore, item_flags, and enchantments
  • enchantment_glint_override and view_requirement

Supported GUI Materials

  • Normal Bukkit materials such as STONE, CHEST, PAPER, and PLAYER_HEAD.
  • Special built-in values like air, water_bottle, main_hand, off_hand, and the armor placeholders.
  • HeadDatabase values such as HDB-13376.
  • Custom textured player heads through PLAYER_HEAD with a texture string, URL, or raw texture id.

Normal material

A simple decorative filler item using a normal Bukkit material.

filler:
  material: GRAY_STAINED_GLASS_PANE
  action: decoration
  slots:
    - "0-26"

Special built-in value

Use built-in placeholders like off_hand when you want the GUI to render a saved equipment slot.

saved_offhand:
  material: off_hand
  action: info
  slot: 49
  display_name: "&eSaved Offhand"

HeadDatabase item

Use an HDB id directly in the material field for GUI icons.

target_info:
  material: HDB-13376
  action: info
  slot: 4
  display_name: "&eViewing: &f{target}"

Custom textured head

Use PLAYER_HEAD with a texture string when you want a custom icon without depending on HeadDatabase.

claim_target:
  material: PLAYER_HEAD
  texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRlOGZmMzBlMzkzNzA5ODYzN2MwYWYwM2ExZjJhNmIxN2YwZTgyOGFiMmE1N2EyNjdhMDFkYTQ4NGJhMGM1NyJ9fX0="
  action: admin-claim-target
  slot: 53

view_requirement Expressions

!value
value1 && value2
value1 || value2
not value
value1 and value2
value1 or value2
parentheses
==, !=, >, >=, <, <=

Example:

view_requirement: "({price_available} == true) && ({tickets} > 0)"

Practical view_requirement Examples

Show paid reclaim only when available

This is the most common pattern: show the reclaim button only if the current grave has a valid currency price.

pay:
  material: EMERALD
  action: pay-claim
  slot: 52
  view_requirement: "{price_available}"

Show disabled fallback when reclaim is unavailable

Use the inverse helper so the barrier item appears only when currency reclaim is not possible.

pay_disabled:
  material: BARRIER
  action: pay-claim-disabled
  slot: 52
  view_requirement: "{price_unavailable}"

Require both price and tickets

This pattern is useful when you want a button to appear only if multiple runtime conditions are true.

special_offer:
  material: EMERALD
  action: info
  slot: 50
  view_requirement: "({price_available} == true) && ({tickets} > 0)"

Hide something with negation

Use logical negation when you want to show a placeholder only while a condition is false.

missing_price_hint:
  material: BARRIER
  action: info
  slot: 50
  view_requirement: "!{price_available}"