GUI Customization

GUI Structure

All GUIs are defined in YAML files located in /plugins/SimpleClaimSystem/guis/. Each GUI has the following base properties:

# Example: banned players GUI
gui-title: "gui-banned-title"   # language file key
rows: 3                          # 1-6 rows (slots = rows × 9)
slots: [0,1,2,3,4,5,6,7,8]     # positions for list items
slots-sound: "minecraft:ui.button.click"
  • gui-title — references a key in your language file (e.g. en_US.yml)
  • rows — number of rows (1 to 6), total slots = rows × 9
  • slots — array of slot positions where list items will be displayed
  • slots-sound — sound played when clicking a list slot

Item Properties

Each item in a GUI supports the following properties:

PropertyDescription
slotPosition(s) in the GUI grid — supports single value or array (e.g. [1,2,3])
materialMinecraft material type (e.g. DIAMOND_SWORD)
custom_model_data_valueCustom model data number (for resource packs / ItemsAdder)
item_model_keyResource pack item model identifier
target-titleDisplay name — language file key
target-loreItem description — language file key
target-button-onButton state text when active
target-button-offButton state text when inactive
soundClick sound effect (e.g. minecraft:ui.button.click)
permissionRequired permission to see/use this item (optional)

Click Actions

Four click types are supported: left, right, shift_left, shift_right.

Three action types are available:

ActionSyntaxDescription
closeLEFT:CLOSEClose the GUI
msgLEFT:MSG:Hello!Send a message to the player
cmdLEFT:CMD:PLAYER:commandExecute a command (PLAYER or CONSOLE)

Multiple actions can be chained for the same click type:

# Example item with actions
MyButton:
  slot: 22
  material: EMERALD
  target-title: "custom-button-title"
  target-lore: "custom-button-lore"
  sound: "minecraft:entity.experience_orb.pickup"
  actions:
    left:
      - "CMD:PLAYER:gamemode creative"
      - "MSG:&aMode changed!"
      - "CLOSE"
    right:
      - "CMD:CONSOLE:give %player% diamond 1"

Reserved items like BackPage, NextPage, Filter, etc. have predefined functions.