Default gui.yml

Last updated Oct 28, 2026

Default gui.yml

Shipped defaults from SoapsAdmin 1.7.7. After first run, this file lives in plugins/SoapsAdmin/.

Updating the jar does not overwrite your live copy. Use this page to compare or reset.

See also: Config Reference · GUIs and Menus

# Default menu layouts (jar). Live file: plugins/SoapsAdmin/gui.yml
# /sa guiconfig list|reload|regenerate · Actions: [open_menu], [close], [prev_page], [next_page]

menus:
  announcement-list:
    title: "<gradient:#FFD700:#FFA500><bold>Announcements</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 36
        material: ARROW
        name: "<yellow>← Previous Page</yellow>"
        action: "[prev_page]"
      back:
        slot: 38
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 44
        material: ARROW
        name: "<yellow>Next Page →</yellow>"
        action: "[next_page]"
  audit-browser:
    title: "<gradient:#FF6347:#FF4500><bold>Audit Browser</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Audit</gray>"
        action: "[open_menu] audit-hub"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  audit-hub:
    title: "<gradient:#FF6347:#FF4500><bold>Audit</bold></gradient>"
    size: 3
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      close:
        slot: 22
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  attributes:
    title: "<gradient:#FFD700:#FFA500><bold>Attributes</bold></gradient> <dark_gray>•</dark_gray> <gray>{target}</gray> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  baltop:
    title: "<gradient:#FFD700:#FFA500><bold>Balance Leaderboard</bold></gradient>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  broadcast-templates:
    title: "<gradient:#FFD700:#FFA500><bold>Broadcast Templates</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      back:
        slot: 48
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  custom-command-settings:
    title: "<gradient:#FFD700:#FFA500><bold>Command Settings</bold></gradient> <dark_gray>•</dark_gray> <gray>{name}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 45
        material: ARROW
        name: "<gray>Back</gray>"
        action: "[open_menu] custom-commands"
      close:
        slot: 53
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  custom-command-disabled:
    title: "<gradient:#FFD700:#FFA500><bold>Disabled Commands</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  custom-commands:
    title: "<gradient:#FFD700:#FFA500><bold>Custom Commands</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  dashboard:
    title: "<gradient:#FFD700:#FFA500><bold>Admin</bold></gradient> <dark_gray>•</dark_gray> <gray>SoapsAdmin</gray>"
    size: 5
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      overview:
        slot: 4
        material: NETHER_STAR
        material-active: NETHERITE_SWORD
        name: "<gold><bold>SoapsAdmin</bold></gold>"
        name-active: "<gold><bold>Staff Mode</bold></gold>"
        lore:
          - "<gray>Live server overview</gray>"
          - "<dark_gray>Left-click to refresh</dark_gray>"
      hub-duty:
        slot: 10
        material: GOLDEN_SWORD
        name: "<gold>Duty</gold>"
        lore:
          - "<gray>Staff panel, reports, tickets, vanish</gray>"
          - "<gray>Reports: <white>{reports_count}</white>  Tickets: <white>{tickets_count}</white></gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gui
        action: "[open_menu] admin-hub-duty"
      hub-server:
        slot: 12
        material: REDSTONE
        name: "<green>Server</green>"
        lore:
          - "<gray>Health, worlds, modules, maintenance</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gui
        action: "[open_menu] admin-hub-server"
      hub-content:
        slot: 14
        material: CHEST
        name: "<yellow>Content</yellow>"
        lore:
          - "<gray>Economy, kits, recipes, broadcasts</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gui
        action: "[open_menu] admin-hub-content"
      hub-travel:
        slot: 16
        material: ENDER_PEARL
        name: "<aqua>Travel</aqua>"
        lore:
          - "<gray>Warps, homes, waypoints, item editor</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gui
        action: "[open_menu] admin-hub-travel"
      hub-punish:
        slot: 20
        material: IRON_AXE
        name: "<red>Punish</red>"
        lore:
          - "<gray>Warn, kick, mute, ban, IP ban</gray>"
          - "<gray>Choose an action, then a player</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gui
        action: "[open_menu] admin-hub-punish"
      hub-tools:
        slot: 22
        material: GOLDEN_APPLE
        name: "<aqua>Staff Tools</aqua>"
        lore:
          - "<gray>Heal, freeze, jail, invsee, spectate</gray>"
          - "<gray>Choose a tool, then an online player</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gui
        action: "[open_menu] admin-hub-tools"
      player-menu:
        slot: 24
        material: COMPASS
        name: "<aqua>Player Menu</aqua>"
        lore:
          - "<gray>Switch to the player dashboard</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.dashboard
        action: "[open_menu] player-dashboard"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  admin-hub-duty:
    title: "<gradient:#FFD700:#FFA500><bold>Duty</bold></gradient>"
    size: 5
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      staff-panel:
        slot: 10
        material: GOLDEN_SWORD
        name: "<gold>Staff Panel</gold>"
        lore:
          - "<gray>Online players and quick actions</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gui
        action: "[open_menu] staffpanel"
      support:
        slot: 11
        material: BOOKSHELF
        name: "<gold>Support</gold> <gray>(R:{reports_count} T:{tickets_count})</gray>"
        lore:
          - "<gray>Reports (abuse) and tickets (help)</gray>"
          - "<dark_gray>Click to open hub</dark_gray>"
        action: "[open_menu] support-hub"
      player-lookup:
        slot: 12
        material: PLAYER_HEAD
        name: "<yellow>Player Lookup</yellow>"
        lore:
          - "<gray>Inspect online or offline players</gray>"
          - "<dark_gray>Click, then type a name</dark_gray>"
        permission: soapsadmin.snapshot
        action: "[chat_input] lookup"
      inv-snapshots:
        slot: 13
        material: BARREL
        name: "<gold>Inv Snapshots</gold>"
        lore:
          - "<gray>Restore cleared or death inventories</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.invsnapshot
        action: "[open_menu] inv-snapshot-players"
      audit:
        slot: 14
        material: WRITTEN_BOOK
        name: "<gold>Audit Log</gold>"
        lore:
          - "<gray>Staff action history</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.audit
        action: "[open_menu] audit-hub"
      vanish:
        slot: 19
        material: GLASS_BOTTLE
        name: "<gray>Vanish</gray> <dark_gray>(off)</dark_gray>"
        lore:
          - "<gray>You are visible</gray>"
          - "<dark_gray>Click to vanish</dark_gray>"
        material-active: POTION
        name-active: "<green>Vanish</green> <dark_gray>(on)</dark_gray>"
        lore-active:
          - "<green>Hidden from non-staff</green>"
          - "<dark_gray>Click to unvanish</dark_gray>"
        permission: soapsadmin.vanish
        action: "[toggle] vanish"
      staffmode:
        slot: 20
        material: GRAY_DYE
        name: "<gray>Staff Mode</gray> <dark_gray>(off)</dark_gray>"
        lore:
          - "<gray>Duty inventory and tools</gray>"
          - "<dark_gray>Click to enter</dark_gray>"
        material-active: LIME_DYE
        name-active: "<green>Staff Mode</green> <dark_gray>(on)</dark_gray>"
        lore-active:
          - "<green>On duty</green>"
          - "<dark_gray>Click to exit</dark_gray>"
        permission: soapsadmin.staffmode
        action: "[toggle] staffmode"
      spectate:
        slot: 21
        material: ENDER_EYE
        name: "<dark_purple>Spectate</dark_purple>"
        lore:
          - "<gray>Toggle spectator mode</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<dark_purple>Spectating</dark_purple> <yellow>{target}</yellow>"
        lore-active:
          - "<dark_gray>Click to stop</dark_gray>"
        permission: soapsadmin.spectate
        action: "[spectate_toggle]"
      staff-leaderboard:
        slot: 22
        material: DIAMOND
        name: "<blue>Staff Stats</blue>"
        lore:
          - "<gray>Staff leaderboard</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.staffdash
        action: "[open_menu] staff-leaderboard"
      back:
        slot: 36
        material: ARROW
        name: "<gray>Back</gray>"
        lore:
          - "<dark_gray>Click to return</dark_gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  admin-hub-server:
    title: "<gradient:#FFD700:#FFA500><bold>Server</bold></gradient>"
    size: 5
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      health:
        slot: 10
        material: REDSTONE
        name: "<green>Server Health</green>"
        lore:
          - "<gray>TPS, memory, entities</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.health
        action: "[open_menu] health"
      plugin-monitor:
        slot: 11
        material: COMPASS
        name: "<aqua>Plugin Monitor</aqua>"
        lore:
          - "<gray>Plugin impact and tasks</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.pluginmonitor
        action: "[open_menu] pluginlist"
      performance:
        slot: 12
        material: REDSTONE_TORCH
        name: "<gold>Performance</gold>"
        lore:
          - "<gray>Lag hotspots, chunks, mobs, redstone</gray>"
          - "<dark_gray>Click to open diagnostics</dark_gray>"
        permission: soapsadmin.performance
        action: "[open_menu] health"
      maintenance:
        slot: 13
        material: OAK_SIGN
        name: "<gray>Maintenance</gray> <dark_gray>(off)</dark_gray>"
        lore:
          - "<gray>Kick non-staff when enabled</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        material-active: REDSTONE_TORCH
        name-active: "<red>Maintenance</red> <dark_gray>(on)</dark_gray>"
        lore-active:
          - "<red>Maintenance is on</red>"
          - "<dark_gray>Click to disable</dark_gray>"
        permission: soapsadmin.maintenance
        action: "[toggle] maintenance"
      worlds:
        slot: 14
        material: GRASS_BLOCK
        name: "<green>Worlds</green>"
        lore:
          - "<gray>Load, unload, create worlds</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.world
        action: "[open_menu] world-manager"
      jails:
        slot: 15
        material: IRON_BARS
        name: "<gold>Jails</gold>"
        lore:
          - "<gray>Jail rooms and settings</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.jail
        action: "[open_menu] jail-manager"
      modules:
        slot: 19
        material: COMPARATOR
        name: "<light_purple>Modules</light_purple>"
        lore:
          - "<gray>Enable or disable feature groups</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.modules
        action: "[open_menu] modules"
      gamerules:
        slot: 20
        material: COMMAND_BLOCK
        name: "<aqua>Game Rules</aqua>"
        lore:
          - "<gray>Per-world game rule editor</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gamerules
        action: "[open_menu] gamerules"
      death-settings:
        slot: 21
        material: TOTEM_OF_UNDYING
        name: "<gold>Death Settings</gold>"
        lore:
          - "<gray>Insta, bed, spawn, and RTP respawn</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.deathsettings
        action: "[open_menu] death-settings"
      back:
        slot: 36
        material: ARROW
        name: "<gray>Back</gray>"
        lore:
          - "<dark_gray>Click to return</dark_gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  admin-hub-content:
    title: "<gradient:#FFD700:#FFA500><bold>Content</bold></gradient>"
    size: 5
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      economy-admin:
        slot: 10
        material: GOLD_INGOT
        name: "<gold>Economy</gold>"
        lore:
          - "<gray>Currencies and BalTop</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.economy.manage
        action: "[open_menu] economy-admin"
      kit-manager:
        slot: 11
        material: CHEST
        name: "<yellow>Kits</yellow>"
        lore:
          - "<gray>Create and edit kits</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.kit.manage
        action: "[open_menu] kit-manager"
      custom-commands:
        slot: 12
        material: COMMAND_BLOCK
        name: "<light_purple>Custom Commands</light_purple>"
        lore:
          - "<gray>Aliases, cooldowns, actions</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.customcommand.manage
        action: "[open_menu] customcommands"
      recipes:
        slot: 13
        material: CRAFTING_TABLE
        name: "<aqua>Recipes</aqua>"
        lore:
          - "<gray>Custom crafting recipes</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.recipe
        action: "[open_menu] recipes"
      motd-editor:
        slot: 14
        material: NAME_TAG
        name: "<green>MOTD</green>"
        lore:
          - "<gray>Server list message</gray>"
          - "<dark_gray>Click to edit</dark_gray>"
        permission: soapsadmin.motd
        action: "[open_menu] motd-editor"
      announcements:
        slot: 15
        material: BELL
        name: "<aqua>Announcements</aqua>"
        lore:
          - "<gray>Scheduled broadcasts</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.announce
        action: "[open_menu] announcements"
      broadcast:
        slot: 16
        material: GOAT_HORN
        name: "<yellow>Broadcast</yellow>"
        lore:
          - "<gray>Message every online player</gray>"
          - "<dark_gray>Click, then type a message</dark_gray>"
        permission: soapsadmin.broadcast
        action: "[chat_input] broadcast"
      back:
        slot: 36
        material: ARROW
        name: "<gray>Back</gray>"
        lore:
          - "<dark_gray>Click to return</dark_gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  admin-hub-travel:
    title: "<gradient:#FFD700:#FFA500><bold>Travel</bold></gradient>"
    size: 4
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      warps:
        slot: 10
        material: ENDER_PEARL
        name: "<aqua>Warps</aqua>"
        lore:
          - "<gray>Server warp points</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.warp
        action: "[open_menu] warps"
      homes:
        slot: 11
        material: RED_BED
        name: "<red>Homes</red>"
        lore:
          - "<gray>Your saved homes</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.home
        action: "[open_homes]"
      waypoints:
        slot: 12
        material: LODESTONE
        name: "<gold>Waypoints</gold>"
        lore:
          - "<gray>Personal markers and tracking</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.waypoint
        action: "[open_menu] waypoints"
      itemeditor:
        slot: 13
        material: ANVIL
        name: "<white>Item Editor</white>"
        lore:
          - "<gray>Edit the item in your hand</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.itemeditor
        action: "[open_menu] itemeditor"
      back:
        slot: 27
        material: ARROW
        name: "<gray>Back</gray>"
        lore:
          - "<dark_gray>Click to return</dark_gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 31
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  admin-hub-punish:
    title: "<gradient:#FF6347:#FF4500><bold>Punish</bold></gradient>"
    size: 5
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      header:
        slot: 4
        material: IRON_AXE
        name: "<red><bold>Punish</bold></red>"
        lore:
          - "<gray>Choose an action, then pick a player</gray>"
          - "<dark_gray>Select an action below</dark_gray>"
      warn:
        slot: 10
        material: YELLOW_DYE
        name: "<yellow>Warn</yellow>"
        lore:
          - "<gray>Online or offline</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.warn
      kick:
        slot: 11
        material: LEATHER_BOOTS
        name: "<yellow>Kick</yellow>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.kick
      mute:
        slot: 12
        material: PAPER
        name: "<gold>Mute</gold>"
        lore:
          - "<gray>Online or offline</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.mute
      tempmute:
        slot: 13
        material: MAP
        name: "<gold>Temp Mute</gold>"
        lore:
          - "<gray>Online or offline</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.tempmute
      ban:
        slot: 14
        material: BARRIER
        name: "<red>Ban</red>"
        lore:
          - "<gray>Online or offline</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.ban
      tempban:
        slot: 15
        material: IRON_DOOR
        name: "<red>Temp Ban</red>"
        lore:
          - "<gray>Online or offline</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.tempban
      unban:
        slot: 16
        material: LIME_DYE
        name: "<green>Unban</green>"
        lore:
          - "<gray>Online or offline</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.unban
      unmute:
        slot: 19
        material: LIME_WOOL
        name: "<green>Unmute</green>"
        lore:
          - "<gray>Online or offline</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.unmute
      banip:
        slot: 20
        material: STRUCTURE_VOID
        name: "<dark_red>IP Ban</dark_red>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.banip
      qp:
        slot: 21
        material: GOLDEN_AXE
        name: "<gold>Quick Punish</gold>"
        lore:
          - "<gray>Online or offline</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.qp
      back:
        slot: 36
        material: ARROW
        name: "<gray>Back</gray>"
        lore:
          - "<dark_gray>Click to return</dark_gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  admin-hub-tools:
    title: "<gradient:#00CED1:#00FA9A><bold>Staff Tools</bold></gradient>"
    size: 5
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      header:
        slot: 4
        material: GOLDEN_APPLE
        name: "<aqua><bold>Staff Tools</bold></aqua>"
        lore:
          - "<gray>Choose a tool, then pick an online player</gray>"
          - "<gray>Search is available on the next screen</gray>"
          - "<dark_gray>Select a tool below</dark_gray>"
      heal:
        slot: 10
        material: GOLDEN_APPLE
        name: "<green>Heal</green>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.heal
      feed:
        slot: 11
        material: COOKED_BEEF
        name: "<green>Feed</green>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.feed
      tphere:
        slot: 12
        material: ENDER_PEARL
        name: "<aqua>Teleport Here</aqua>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.tphere
      freeze:
        slot: 13
        material: BLUE_ICE
        name: "<aqua>Freeze</aqua>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.freeze
      jail:
        slot: 14
        material: IRON_BARS
        name: "<gold>Jail</gold>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.jail
      spectate:
        slot: 15
        material: ENDER_EYE
        name: "<dark_purple>Spectate</dark_purple>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.spectate
      invsee:
        slot: 16
        material: CHEST
        name: "<gold>Inventory</gold>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.invsee
      endersee:
        slot: 19
        material: ENDER_CHEST
        name: "<dark_purple>Ender Chest</dark_purple>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.endersee
      lockinv:
        slot: 20
        material: TRIPWIRE_HOOK
        name: "<red>Lock Inventory</red>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.lockinv
      afk:
        slot: 21
        material: CLOCK
        name: "<yellow>AFK Toggle</yellow>"
        lore:
          - "<gray>Requires online player</gray>"
          - "<dark_gray>Click, then choose a player</dark_gray>"
        permission: soapsadmin.afk.others
      back:
        slot: 36
        material: ARROW
        name: "<gray>Back</gray>"
        lore:
          - "<dark_gray>Click to return</dark_gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  punish-player-select:
    title: "<gradient:#FF6347:#FF4500><bold>Punish</bold></gradient> <dark_gray>•</dark_gray> <gray>{action}</gray> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    player-item:
      name: "<yellow>{player_name}</yellow>"
      lore:
        - "<gray>Click to continue</gray>"
    items:
      search:
        slot: 46
        material: OAK_SIGN
        name: "<aqua>Search</aqua>"
      filter:
        slot: 47
        material: LIME_DYE
        name: "<white>Filter</white>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<green>◂ Previous</green>"
        action: "[prev_page]"
      back:
        slot: 48
        material: ARROW
        name: "<gray>Back</gray>"
        action: "[open_menu] admin-hub-punish"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<green>Next ▸</green>"
        action: "[next_page]"
  staff-tool-player-select:
    title: "<gradient:#00CED1:#00FA9A><bold>Tools</bold></gradient> <dark_gray>•</dark_gray> <gray>{action}</gray> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    player-item:
      name: "<yellow>{player_name}</yellow>"
      lore:
        - "<gray>Click to use</gray>"
    items:
      search:
        slot: 46
        material: OAK_SIGN
        name: "<aqua>Search</aqua>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<green>◂ Previous</green>"
        action: "[prev_page]"
      back:
        slot: 48
        material: ARROW
        name: "<gray>Back</gray>"
        action: "[open_menu] admin-hub-tools"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<green>Next ▸</green>"
        action: "[next_page]"
  economy-admin:
    title: "<gradient:#FFD700:#FFA500><bold>Economy Manager</bold></gradient> <dark_gray>•</dark_gray> <gray>Admin</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 45
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
  economy-baltop:
    title: "<gradient:#FFD700:#FFA500><bold>Balance Top</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Economy Admin</gray>"
        action: "[open_menu] economy-admin"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  economy-create:
    title: "<gradient:#55FF55:#00AA00><bold>Create Economy</bold></gradient>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
  economy-delete:
    title: "<gradient:#FF5555:#CC0000><bold>Delete Economy?</bold></gradient>"
    size: 3
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
  economy-edit:
    title: "<gradient:#FFD700:#FFA500><bold>Edit Economy</bold></gradient>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
  economy-select:
    title: "<gradient:#FFD700:#FFA500><bold>Select Economy</bold></gradient>"
    size: 4
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 27
        material: ARROW
        name: "<gray>Back to Economy Admin</gray>"
        action: "[open_menu] economy-admin"
  friend-list:
    title: "<gradient:#00CED1:#00FA9A><bold>Friends</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      info:
        slot: 4
        material: TOTEM_OF_UNDYING
        name: "<gold><bold>Friends List</bold></gold>"
        lore:
          - "<gray>Your friends list</gray>"
          - ""
          - "<yellow>Left-click</yellow> <gray>a head to teleport</gray>"
          - "<red>Right-click</red> <gray>a head to remove</gray>"
      prev-page:
        slot: 36
        material: ARROW
        name: "<yellow>← Previous Page</yellow>"
        action: "[prev_page]"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 44
        material: ARROW
        name: "<yellow>Next Page →</yellow>"
        action: "[next_page]"
  health:
    title: "<gradient:#FFD700:#FFA500><bold>Server Health</bold></gradient> <dark_gray>•</dark_gray> <gray>Diagnostics</gray>"
    size: 5
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      tps:
        slot: 10
        material: CLOCK
        name: "<yellow>TPS (1m/5m/15m)</yellow>"
        # lore is dynamic. Filled by Java with live TPS values
      mspt:
        slot: 11
        material: REDSTONE
        name: "<yellow>MSPT</yellow>"
      players:
        slot: 12
        material: PLAYER_HEAD
        name: "<yellow>Players</yellow>"
      entities:
        slot: 14
        material: ZOMBIE_HEAD
        name: "<yellow>Entities</yellow>"
      chunks:
        slot: 15
        material: GRASS_BLOCK
        name: "<yellow>Loaded Chunks</yellow>"
      memory:
        slot: 16
        material: HOPPER
        name: "<yellow>Memory</yellow>"
      refresh:
        slot: 28
        material: SUNFLOWER
        name: "<aqua>Refresh</aqua>"
        lore:
          - "<gray>Rebuild live metrics</gray>"
          - "<dark_gray>Click to refresh</dark_gray>"
        action: "[refresh]"
      plugin-monitor:
        slot: 29
        material: OBSERVER
        name: "<yellow>Plugin Monitor</yellow>"
        lore:
          - "<gray>Open plugin health list</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.pluginmonitor
        action: "[open_menu] pluginlist"
      laghotspots:
        slot: 30
        material: MAGMA_BLOCK
        name: "<red>Lag Hotspots</red>"
        lore:
          - "<gray>Scan lag hotspot chunks</gray>"
          - "<dark_gray>Click to run</dark_gray>"
        permission: soapsadmin.performance
        action: "[run_command] sa laghotspots"
      chunkactivity:
        slot: 31
        material: MAP
        name: "<gold>Chunk Activity</gold>"
        lore:
          - "<gray>List active chunks</gray>"
          - "<dark_gray>Click to run</dark_gray>"
        permission: soapsadmin.performance
        action: "[run_command] sa chunkactivity"
      mobdensity:
        slot: 32
        material: ZOMBIE_SPAWN_EGG
        name: "<green>Mob Density</green>"
        lore:
          - "<gray>Scan entity density</gray>"
          - "<dark_gray>Click to run</dark_gray>"
        permission: soapsadmin.performance
        action: "[run_command] sa mobdensity"
      redstonecheck:
        slot: 33
        material: REDSTONE_TORCH
        name: "<red>Redstone Check</red>"
        lore:
          - "<gray>Find heavy redstone</gray>"
          - "<dark_gray>Click to run</dark_gray>"
        permission: soapsadmin.performance
        action: "[run_command] sa redstonecheck"
      back:
        slot: 40
        material: ARROW
        name: "<yellow>Back</yellow>"
        lore:
          - "<gray>Return to Server hub</gray>"
        action: "[open_menu] admin-hub-server"
  homes:
    title: "<gradient:#00CED1:#00FA9A><bold>Homes</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  history:
    title: "<gradient:#FF6347:#FF4500><bold>History</bold></gradient> <dark_gray>•</dark_gray> <white>{target}</white> <gray>({page})</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    punishment-materials:
      BAN: RED_CONCRETE
      TEMPBAN: RED_CONCRETE
      MUTE: ORANGE_CONCRETE
      TEMPMUTE: ORANGE_CONCRETE
      KICK: YELLOW_CONCRETE
      WARN: GOLD_BLOCK
    items:
      prev-page:
        slot: 36
        material: ARROW
        name: "<yellow>← Previous Page</yellow>"
        action: "[prev_page]"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 44
        material: ARROW
        name: "<yellow>Next Page →</yellow>"
        action: "[next_page]"
  inv-snapshot-history:
    title: "<gradient:#FF6347:#FF4500><bold>Snapshots</bold></gradient> <dark_gray>•</dark_gray> <yellow>{target}</yellow> <gray>({page})</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Player List</gray>"
        action: "[open_menu] inv-snapshot-players"
      restore-all:
        slot: 48
        material: EMERALD_BLOCK
        name: "<green>Restore Latest</green>"
        lore:
          - "<gray>Restores the most recent snapshot</gray>"
        permission: "soapsadmin.invsnapshot.restore"
        action: "[restore_latest]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  inv-snapshot-players:
    title: "<gradient:#FF6347:#FF4500><bold>Inventory Snapshots</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    player-item:
      name: "<yellow>{player_name}</yellow>"
      lore:
        - "<gray>{snapshot_count} snapshot(s)</gray>"
        - "<dark_gray>Click to view history</dark_gray>"
    items:
      search:
        slot: 46
        material: OAK_SIGN
        name: "<aqua>Search</aqua>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] admin-hub-duty"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  inv-snapshot-view:
    title: "<gradient:#FF6347:#FF4500><bold>Snapshot #{index}</bold></gradient> <dark_gray>•</dark_gray> <yellow>{target}</yellow>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to History</gray>"
        action: "[open_menu] inv-snapshot-history"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  kit-editor:
    title: "<gradient:#00CED1:#00FA9A><bold>Kit Editor</bold></gradient> <dark_gray>•</dark_gray> <gray>{kit}</gray>"
    size: 6
    # No filler. Inventory rows must stay empty for drag-and-drop kit items
    border: GRAY_STAINED_GLASS_PANE
  kit-list:
    title: "<gradient:#00CED1:#00FA9A><bold>Kits</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  kit-manager:
    title: "<gradient:#00CED1:#00FA9A><bold>Kit Manager</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
  mail-inbox:
    title: "<gradient:#55FFFF:#00AAAA><bold>Mail</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: LIGHT_BLUE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      clear-all:
        slot: 47
        material: LAVA_BUCKET
        name: "<red>Clear All</red>"
        lore:
          - "<gray>Delete every message in your inbox</gray>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  mail-read:
    title: "<gradient:#55FFFF:#00AAAA><bold>Mail</bold></gradient> <dark_gray>•</dark_gray> <gray>#{id}</gray>"
    size: 3
    filler: LIGHT_BLUE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 18
        material: ARROW
        name: "<aqua>◂ Back</aqua>"
        action: "[open_menu] mail-inbox"
      delete:
        slot: 22
        material: LAVA_BUCKET
        name: "<red>Delete</red>"
      mark-read:
        slot: 26
        material: LIME_DYE
        name: "<green>Mark Read</green>"
  spawner-editor:
    title: "<gradient:#55FF55:#00AA00><bold>Spawner</bold></gradient>"
    size: 5
    filler: LIME_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  spawner-type-picker:
    title: "<gradient:#55FF55:#00AA00><bold>Spawner Type</bold></gradient> <dark_gray>•</dark_gray> <gray>{filter}</gray> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: LIME_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 47
        material: OAK_DOOR
        name: "<aqua>◂ Back to Spawner</aqua>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
      # Soft slots (set in Java): 46=search, 48=vanilla tab, 50=mythic tab
  spawner-list:
    title: "<gradient:#55FF55:#00AA00><bold>Spawners</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: LIME_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  world-manager:
    title: "<gradient:#55FF55:#00AA00><bold>World Manager</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: LIME_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      create-world:
        slot: 8
        material: EMERALD
        name: "<green><bold>Create World</bold></green>"
        lore:
          - "<gray>Open the world creation wizard</gray>"
          - "<dark_gray>Click to begin</dark_gray>"
      refresh:
        slot: 47
        material: SUNFLOWER
        name: "<yellow>Refresh</yellow>"
        lore:
          - "<gray>Reload the world list</gray>"
          - "<dark_gray>Click to refresh</dark_gray>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<green>◂ Previous</green>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<green>Next ▸</green>"
        action: "[next_page]"
  jail-manager:
    title: "<gradient:#FF5555:#AA0000><bold>Jail Manager</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: RED_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      create-room:
        slot: 8
        material: EMERALD
        name: "<green><bold>Create Room</bold></green>"
        lore:
          - "<gray>Start jail room setup with the tool</gray>"
          - "<dark_gray>Click to begin</dark_gray>"
      refresh:
        slot: 47
        material: SUNFLOWER
        name: "<yellow>Refresh</yellow>"
        lore:
          - "<gray>Reload the jail room list</gray>"
          - "<dark_gray>Click to refresh</dark_gray>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<green>◂ Previous</green>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<green>Next ▸</green>"
        action: "[next_page]"
  world-create-wizard:
    title: "<gradient:#55FF55:#00AA00><bold>Create World</bold></gradient> <dark_gray>•</dark_gray> <gray>{world}</gray>"
    size: 6
    filler: LIME_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      confirm:
        slot: 49
        material: LIME_CONCRETE
        name: "<green><bold>Create World</bold></green>"
        lore:
          - "<gray>Generate and load the new world</gray>"
          - "<dark_gray>Click to confirm</dark_gray>"
      back:
        slot: 45
        material: ARROW
        name: "<gray>◂ Back to list</gray>"
        lore:
          - "<gray>Return without creating</gray>"
      cancel:
        slot: 53
        material: BARRIER
        name: "<red>Cancel</red>"
        lore:
          - "<gray>Discard this wizard</gray>"
  kit-settings:
    title: "<gradient:#00CED1:#00FA9A><bold>Kit Settings</bold></gradient> <dark_gray>•</dark_gray> <gray>{kit}</gray>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
  mannequin:
    title: "<gradient:#5DADE2:#AF7AC5><bold>Mannequin Editor</bold></gradient> <dark_gray>•</dark_gray> <gray>{name}</gray> <dark_gray>({page}/2)</dark_gray>"
    size: 6
    filler: PURPLE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      info:
        slot: 4
        material: PLAYER_HEAD
        name: "<gold><bold>{name}</bold></gold>"
        lore:
          - "<gray>Pose: <white>{pose}</white> <dark_gray>·</dark_gray> Yaw: <white>{yaw}°</white></gray>"
          - "<gray>Pos: <white>{coords}</white></gray>"
          - "<gray>Hand: <white>{hand}</white></gray>"
          - "<gray>Glow: <white>{glowing}</white> <dark_gray>·</dark_gray> Invisible: <white>{invisible}</white></gray>"
          - "<gray>Gravity: <white>{gravity}</white> <dark_gray>·</dark_gray> Silent: <white>{silent}</white></gray>"
          - "<gray>Subtitle: <white>{description}</white></gray>"
          - ""
          - "<dark_gray>Right-click the mannequin anytime to reopen.</dark_gray>"
      # Page 1: flags and placement (centered cols 2-6; no side-column buttons)
      glow:
        slot: 11
        material: GLOWSTONE_DUST
        name: "<yellow>Glow</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        material-active: GLOWSTONE
        name-active: "<green>Glow</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_glow]"
      invisible:
        slot: 12
        material: GLASS
        name: "<yellow>Invisible</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        material-active: TINTED_GLASS
        name-active: "<green>Invisible</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_invisible]"
      invulnerable:
        slot: 13
        material: IRON_CHESTPLATE
        name: "<yellow>Invulnerable</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        material-active: DIAMOND_CHESTPLATE
        name-active: "<green>Invulnerable</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_invulnerable]"
      immovable:
        slot: 14
        material: IRON_CHAIN
        name: "<yellow>Immovable</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        material-active: IRON_BARS
        name-active: "<green>Immovable</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_immovable]"
      name-visible:
        slot: 15
        material: NAME_TAG
        name: "<yellow>Name Visible</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<gray>Hides the floating display name</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Name Visible</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<gray>Display name is shown above the mannequin</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_name_visible]"
      collidable:
        slot: 20
        material: SLIME_BALL
        name: "<yellow>Collidable</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<gray>OFF = players can walk through</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        material-active: MAGMA_CREAM
        name-active: "<green>Collidable</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<gray>ON = solid body (blocks movement)</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_collidable]"
      silent:
        slot: 21
        material: BELL
        name: "<yellow>Silent</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<gray>When ON, the mannequin makes no sounds.</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        material-active: SCULK_SENSOR
        name-active: "<green>Silent</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<gray>Sounds are muted.</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_silent]"
      gravity:
        slot: 22
        material: FEATHER
        name: "<yellow>Gravity</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        material-active: ANVIL
        name-active: "<green>Gravity</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_gravity]"
      pose-picker:
        slot: 23
        material: ARMOR_STAND
        name: "<aqua>Body Poses</aqua>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<gray>Only poses valid for mannequins</gray>"
          - "<dark_gray>Click to pick (includes Sit)</dark_gray>"
        action: "[open_pose_picker]"
      adjust-placement:
        slot: 24
        material: BLAZE_ROD
        name: "<gold>Adjust Placement</gold>"
        lore:
          - "<gray>Yaw: <white>{value}</white></gray>"
          - "<gray>Closes the menu so you can see the mannequin</gray>"
          - "<yellow>Click:</yellow> <gray>rotate · Sneak+click: raise/lower</gray>"
          - "<yellow>Scroll:</yellow> <gray>strafe · F: nudge forward · Q: done</gray>"
        action: "[adjust_placement]"
      move-up:
        slot: 29
        material: SLIME_BLOCK
        name: "<aqua>Move Up (Y+)</aqua>"
        lore:
          - "<gray>Y: <white>{y}</white></gray>"
          - "<yellow>Click:</yellow> <gray>+0.25</gray> · <yellow>Shift:</yellow> <gray>+1.0</gray>"
        action: "[move_up]"
      move-down:
        slot: 30
        material: SOUL_SAND
        name: "<aqua>Move Down (Y−)</aqua>"
        lore:
          - "<gray>Y: <white>{y}</white></gray>"
          - "<yellow>Click:</yellow> <gray>−0.25</gray> · <yellow>Shift:</yellow> <gray>−1.0</gray>"
        action: "[move_down]"
      look-at-me:
        slot: 31
        material: ENDER_EYE
        name: "<aqua>Look at Me</aqua>"
        lore:
          - "<gray>Face the mannequin toward you</gray>"
          - "<yellow>Right-click:</yellow> <gray>copy your yaw</gray>"
          - "<yellow>Shift-click:</yellow> <gray>snap yaw to 45°</gray>"
        action: "[look_at_me]"
      move-here:
        slot: 32
        material: ENDER_PEARL
        name: "<aqua>Move Here</aqua>"
        lore:
          - "<gray>Teleport mannequin to your feet</gray>"
          - "<yellow>Shift-click:</yellow> <gray>snap to block center</gray>"
        action: "[move_here]"
      main-hand:
        slot: 33
        material: STICK
        name: "<aqua>Main Hand</aqua>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<dark_gray>Click to toggle left/right</dark_gray>"
        action: "[toggle_main_hand]"
      skin-parts:
        slot: 38
        material: LEATHER_CHESTPLATE
        name: "<light_purple>Skin Parts</light_purple>"
        lore:
          - "<gray>Hat, cape, jacket, sleeves, pants</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        action: "[open_skin_parts]"
      pose-templates:
        slot: 39
        material: CHEST
        name: "<gold>Presets</gold>"
        lore:
          - "<gray>Role kits with pose + equipment</gray>"
          - "<gray>Guard, Archer, Miner, Shopkeeper</gray>"
          - "<dark_gray>Click to browse</dark_gray>"
        action: "[open_pose_templates]"
      set-skin:
        slot: 40
        material: PLAYER_HEAD
        name: "<green>Set Skin</green>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<yellow>Left-click:</yellow> <gray>type a player name</gray>"
          - "<yellow>Right-click:</yellow> <gray>use your skin</gray>"
        action: "[set_skin]"
      set-name:
        slot: 41
        material: NAME_TAG
        name: "<green>Set Name</green>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<dark_gray>Click to change</dark_gray>"
        action: "[set_name]"
      set-description:
        slot: 42
        material: WRITABLE_BOOK
        name: "<green>Subtitle / NPC</green>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<gray>The line under the display name (default: NPC)</gray>"
          - "<yellow>Left-click:</yellow> <gray>edit text</gray>"
          - "<yellow>Right-click:</yellow> <gray>hide / show</gray>"
          - "<yellow>Shift+Right:</yellow> <gray>reset to NPC</gray>"
        action: "[set_description]"
      next-page:
        slot: 50
        material: ARROW
        name: "<aqua>Equipment ▸</aqua>"
        lore:
          - "<gray>Armor, hands, clone, clear gear</gray>"
          - "<dark_gray>Page 2 of 2</dark_gray>"
        action: "[next_page]"
      delete:
        slot: 45
        material: TNT
        name: "<red><bold>Delete Mannequin</bold></red>"
        lore:
          - "<dark_gray>Permanently removes this mannequin.</dark_gray>"
          - "<yellow>Shift-click to confirm</yellow>"
        action: "[delete]"
      close:
        slot: 53
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  mannequin-equip:
    title: "<gradient:#5DADE2:#AF7AC5><bold>Mannequin Equipment</bold></gradient> <dark_gray>•</dark_gray> <gray>{name}</gray> <dark_gray>({page}/2)</dark_gray>"
    size: 6
    filler: PURPLE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      info:
        slot: 4
        material: PLAYER_HEAD
        name: "<gold><bold>{name}</bold></gold>"
        lore:
          - "<gray>Pose: <white>{pose}</white> <dark_gray>·</dark_gray> Yaw: <white>{yaw}°</white></gray>"
          - "<gray>Pos: <white>{coords}</white></gray>"
          - "<gray>Equip armor and hands below</gray>"
          - ""
          - "<dark_gray>Right-click the mannequin anytime to reopen.</dark_gray>"
      equip-helmet:
        slot: 20
        material: IRON_HELMET
        name: "<gold>Helmet</gold>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<yellow>Left-click:</yellow> <gray>equip from hand</gray>"
          - "<yellow>Right-click:</yellow> <gray>clear</gray>"
        action: "[equip_helmet]"
      equip-chest:
        slot: 21
        material: IRON_CHESTPLATE
        name: "<gold>Chestplate</gold>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<yellow>Left-click:</yellow> <gray>equip from hand</gray>"
          - "<yellow>Right-click:</yellow> <gray>clear</gray>"
        action: "[equip_chest]"
      equip-legs:
        slot: 22
        material: IRON_LEGGINGS
        name: "<gold>Leggings</gold>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<yellow>Left-click:</yellow> <gray>equip from hand</gray>"
          - "<yellow>Right-click:</yellow> <gray>clear</gray>"
        action: "[equip_legs]"
      equip-boots:
        slot: 23
        material: IRON_BOOTS
        name: "<gold>Boots</gold>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<yellow>Left-click:</yellow> <gray>equip from hand</gray>"
          - "<yellow>Right-click:</yellow> <gray>clear</gray>"
        action: "[equip_boots]"
      equip-mainhand:
        slot: 24
        material: IRON_SWORD
        name: "<gold>Main Hand Item</gold>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<yellow>Left-click:</yellow> <gray>equip from hand</gray>"
          - "<yellow>Right-click:</yellow> <gray>clear</gray>"
        action: "[equip_mainhand]"
      equip-offhand:
        slot: 30
        material: SHIELD
        name: "<gold>Off Hand Item</gold>"
        lore:
          - "<gray>Current: <white>{value}</white></gray>"
          - "<yellow>Left-click:</yellow> <gray>equip from hand</gray>"
          - "<yellow>Right-click:</yellow> <gray>clear</gray>"
        action: "[equip_offhand]"
      clear-equipment:
        slot: 31
        material: BUCKET
        name: "<red>Clear All Gear</red>"
        lore:
          - "<gray>Removes every equipment slot</gray>"
          - "<yellow>Shift-click:</yellow> <gray>copy your armor + hands</gray>"
          - "<dark_gray>Does not delete the mannequin</dark_gray>"
        action: "[clear_equipment]"
      clone:
        slot: 32
        material: IRON_NUGGET
        name: "<gold>Clone</gold>"
        lore:
          - "<gray>Duplicate this mannequin in front of you</gray>"
          - "<gray>Copies pose, gear, skin, and flags</gray>"
          - "<dark_gray>Opens the editor on the copy</dark_gray>"
        action: "[clone]"
      prev-page:
        slot: 48
        material: ARROW
        name: "<aqua>◂ Controls</aqua>"
        lore:
          - "<gray>Flags, pose, placement, appearance</gray>"
          - "<dark_gray>Page 1 of 2</dark_gray>"
        action: "[prev_page]"
      delete:
        slot: 45
        material: TNT
        name: "<red><bold>Delete Mannequin</bold></red>"
        lore:
          - "<dark_gray>Permanently removes this mannequin.</dark_gray>"
          - "<yellow>Shift-click to confirm</yellow>"
        action: "[delete]"
      close:
        slot: 53
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  # -- skinparts --
  modules:
    title: "<gradient:#FFD700:#FFA500><bold>Module Manager</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  gamerules:
    title: "<gradient:#5EEAD4:#38BDF8><bold>Gamerules</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      world-prev:
        slot: 2
        material: ARROW
        name: "<aqua>◂ Previous World</aqua>"
        action: "[gamerule_world_prev]"
      world-next:
        slot: 6
        material: ARROW
        name: "<aqua>Next World ▸</aqua>"
        action: "[gamerule_world_next]"
      list:
        slot: 48
        material: BOOK
        name: "<yellow>List in Chat</yellow>"
        lore:
          - "<gray>Print all gamerules for this world</gray>"
        action: "[gamerule_list]"
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  motd-editor:
    title: "<gradient:#FFD700:#FFA500><bold>MOTD Editor</bold></gradient> <dark_gray>•</dark_gray> <gray>Server List</gray>"
    size: 3
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 18
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 22
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  player-dashboard:
    title: "<gradient:#00CED1:#00FA9A><bold>Player Dashboard</bold></gradient> <dark_gray>•</dark_gray> <gray>Quick Access</gray>"
    size: 5
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      kits:
        slot: 10
        material: CHEST
        name: "<gold><bold>Kits</bold></gold>"
        lore:
          - "<gray>Claim kits</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.kit
        action: "[open_menu] kits"
      rules:
        slot: 11
        material: BOOK
        name: "<yellow><bold>Rules</bold></yellow>"
        lore:
          - "<gray>Server rules</gray>"
          - ""
          - "<yellow>Click to read</yellow>"
        permission: soapsadmin.rules
        action: "[open_menu] rules"
      warps:
        slot: 12
        material: ENDER_PEARL
        name: "<aqua><bold>Warps</bold></aqua>"
        lore:
          - "<gray>Server warp points</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.warp
        action: "[open_menu] warps"
      homes:
        slot: 13
        material: RED_BED
        name: "<red><bold>Homes</bold></red>"
        lore:
          - "<gray>Your saved homes</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.home
        action: "[open_homes]"
      waypoints:
        slot: 14
        material: LODESTONE
        name: "<gold><bold>Waypoints</bold></gold>"
        lore:
          - "<gray>Personal markers and tracking</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.waypoint
        action: "[open_menu] waypoints"
      rtp:
        slot: 15
        material: MAP
        name: "<green><bold>RTP</bold></green>"
        lore:
          - "<gray>Random teleport</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.rtp
        action: "[open_menu] rtp-worlds"
      vault:
        slot: 16
        material: ENDER_CHEST
        name: "<light_purple><bold>Vaults</bold></light_purple>"
        lore:
          - "<gray>Your personal storage</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.vault
        action: "[open_menu] vault-list"
      friends:
        slot: 19
        material: PLAYER_HEAD
        name: "<aqua><bold>Friends</bold></aqua>"
        lore:
          - "<gray>Friends list and requests</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.friend
        action: "[open_menu] friend-list"
      mail:
        slot: 20
        material: PAPER
        name: "<white><bold>Mail</bold></white>"
        lore:
          - "<gray>Offline messages inbox</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.mail
        action: "[open_menu] mail-inbox"
      report:
        slot: 21
        material: WRITABLE_BOOK
        name: "<red><bold>Report</bold></red>"
        lore:
          - "<gray>Report a rule-breaker</gray>"
          - ""
          - "<yellow>Click to start</yellow>"
        permission: soapsadmin.report
        action: "[open_report]"
      tickets:
        slot: 22
        material: BOOK
        name: "<yellow><bold>Tickets</bold></yellow>"
        lore:
          - "<gray>Create or view support tickets</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.ticket
        action: "[open_menu] tickets"
      baltop:
        slot: 23
        material: GOLD_INGOT
        name: "<gold><bold>Bal Top</bold></gold>"
        lore:
          - "<gray>Richest players</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.economy
        action: "[open_menu] baltop"
      admin-hub:
        slot: 25
        material: NETHER_STAR
        name: "<gold><bold>Admin Menu</bold></gold>"
        lore:
          - "<gray>Open the admin dashboard</gray>"
          - ""
          - "<yellow>Click to open</yellow>"
        permission: soapsadmin.gui
        action: "[open_menu] admin-dashboard"
      close:
        slot: 40
        material: BARRIER
        name: "<red><bold>Close</bold></red>"
        action: "[close]"
  player-profile:
    title: "<gradient:#00CED1:#00FA9A><bold>Profile</bold></gradient> <dark_gray>•</dark_gray> <white>{target}</white>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      close:
        slot: 45
        material: BARRIER
        name: "<red>Close</red>"
      trade:
        slot: 47
        material: EMERALD
        name: "<green><bold>Trade</bold></green>"
        lore:
          - "<gray>Send a trade request</gray>"
      message:
        slot: 49
        material: PAPER
        name: "<aqua><bold>Message</bold></aqua>"
        lore:
          - "<gray>Send a private message</gray>"
      pay:
        slot: 51
        material: GOLD_NUGGET
        name: "<yellow><bold>Pay</bold></yellow>"
        lore:
          - "<gray>Send money</gray>"
  playeraction:
    title: "<gradient:#FF6347:#FF4500><bold>Actions</bold></gradient> <dark_gray>•</dark_gray> <yellow>{target}</yellow>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      # Row 2: Inspect
      snapshot:
        slot: 10
        material: COMPASS
        name: "<yellow>Snapshot</yellow>"
        lore:
          - "<gray>First join, playtime, IPs</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.snapshot
        action: "[open_snapshot]"
      history:
        slot: 11
        material: BOOK
        name: "<red>History</red>"
        lore:
          - "<gray>Bans, mutes, warns, kicks</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.audit
        action: "[open_history]"
      alts:
        slot: 12
        material: COMPARATOR
        name: "<gold>Alts</gold>"
        lore:
          - "<gray>Shared-IP accounts</gray>"
          - "<dark_gray>Click to check</dark_gray>"
        permission: soapsadmin.alts
        action: "[command] sa alts {target}"
      notes:
        slot: 13
        material: WRITABLE_BOOK
        name: "<light_purple>Notes</light_purple>"
        lore:
          - "<gray>Staff notes for this player</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.note
        action: "[command] sa notes {target}"
      target-reports:
        slot: 14
        material: PAPER
        name: "<red>Reports</red>"
        lore:
          - "<gray>Reports filed against this player</gray>"
          - "<dark_gray>Click to list in chat</dark_gray>"
        permission: soapsadmin.reports
        action: "[open_target_reports]"
      invsee:
        slot: 15
        material: CHEST
        name: "<gold>Inventory</gold>"
        lore:
          - "<gray>Open the full inventory</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.invsee
        requires-online: true
        action: "[invsee]"
      endersee:
        slot: 16
        material: ENDER_CHEST
        name: "<dark_purple>Ender Chest</dark_purple>"
        lore:
          - "<gray>Open the ender chest</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.endersee
        requires-online: true
        action: "[endersee]"
      inv-snapshots:
        slot: 17
        material: BARREL
        name: "<gold>Inv Snapshots</gold>"
        lore:
          - "<gray>Saved inventories for restore</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.invsnapshot
        action: "[open_inv_snapshots]"
      # Row 3: Control
      heal:
        slot: 19
        material: GOLDEN_APPLE
        name: "<green>Heal</green>"
        lore:
          - "<gray>Restore full health</gray>"
          - "<dark_gray>Click to heal</dark_gray>"
        permission: soapsadmin.heal
        requires-online: true
        action: "[heal_target]"
      feed:
        slot: 20
        material: COOKED_BEEF
        name: "<green>Feed</green>"
        lore:
          - "<gray>Restore full hunger</gray>"
          - "<dark_gray>Click to feed</dark_gray>"
        permission: soapsadmin.feed
        requires-online: true
        action: "[feed_target]"
      tphere:
        slot: 21
        material: ENDER_PEARL
        name: "<aqua>Teleport Here</aqua>"
        lore:
          - "<gray>Bring the player to you</gray>"
          - "<dark_gray>Click to teleport</dark_gray>"
        permission: soapsadmin.tphere
        requires-online: true
        action: "[tphere_target]"
      freeze:
        slot: 22
        material: BLUE_ICE
        name: "<aqua>Freeze</aqua>"
        lore:
          - "<gray>Lock movement and interaction</gray>"
          - "<dark_gray>Click to freeze</dark_gray>"
        name-active: "<aqua>Unfreeze</aqua>"
        lore-active:
          - "<gray>Player is frozen</gray>"
          - "<dark_gray>Click to unfreeze</dark_gray>"
        permission: soapsadmin.freeze
        requires-online: true
        action: "[freeze_toggle]"
      jail:
        slot: 23
        material: IRON_BARS
        name: "<gold>Jail</gold>"
        lore:
          - "<gray>Send to a jail room</gray>"
          - "<dark_gray>Click to jail</dark_gray>"
        name-active: "<gold>Unjail</gold>"
        lore-active:
          - "<gray>Player is jailed</gray>"
          - "<dark_gray>Click to release</dark_gray>"
        permission: soapsadmin.jail
        action: "[jail_toggle]"
      spectate:
        slot: 24
        material: ENDER_EYE
        name: "<dark_purple>Spectate</dark_purple>"
        lore:
          - "<gray>Watch in spectator mode</gray>"
          - "<dark_gray>Click to spectate</dark_gray>"
        permission: soapsadmin.spectate
        requires-online: true
        action: "[spectate_target]"
      afk-toggle:
        slot: 25
        material: CLOCK
        name: "<yellow>Mark AFK</yellow>"
        lore:
          - "<gray>Set AFK status</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Clear AFK</green>"
        lore-active:
          - "<gray>Player is AFK</gray>"
          - "<dark_gray>Click to clear</dark_gray>"
        permission: soapsadmin.afk.others
        requires-online: true
        action: "[afk_toggle]"
      lockinv:
        slot: 26
        material: TRIPWIRE_HOOK
        name: "<red>Lock Inventory</red>"
        lore:
          - "<gray>Block inventory use</gray>"
          - "<dark_gray>Click to lock</dark_gray>"
        name-active: "<green>Unlock Inventory</green>"
        lore-active:
          - "<gray>Inventory is locked</gray>"
          - "<dark_gray>Click to unlock</dark_gray>"
        permission: soapsadmin.lockinv
        requires-online: true
        action: "[lockinv_toggle]"
      # Row 4: Punish
      warn:
        slot: 28
        material: YELLOW_DYE
        name: "<yellow>Warn</yellow>"
        lore:
          - "<gray>Issue a warning</gray>"
          - "<dark_gray>Click, then type reason</dark_gray>"
        permission: soapsadmin.warn
        action: "[chat_input] warn"
      kick:
        slot: 29
        material: LEATHER_BOOTS
        name: "<yellow>Kick</yellow>"
        lore:
          - "<gray>Disconnect with a reason</gray>"
          - "<dark_gray>Click, then type reason</dark_gray>"
        permission: soapsadmin.kick
        requires-online: true
        action: "[chat_input] kick"
      mute:
        slot: 30
        material: PAPER
        name: "<gold>Mute</gold>"
        lore:
          - "<gray>Permanent mute</gray>"
          - "<dark_gray>Click, then type reason</dark_gray>"
        permission: soapsadmin.mute
        action: "[chat_input] mute"
      tempmute:
        slot: 31
        material: MAP
        name: "<gold>Temp Mute</gold>"
        lore:
          - "<gray>Timed mute</gray>"
          - "<dark_gray>Click, then type duration and reason</dark_gray>"
        permission: soapsadmin.tempmute
        action: "[chat_input] tempmute"
      ban:
        slot: 32
        material: BARRIER
        name: "<red>Ban</red>"
        lore:
          - "<gray>Permanent ban</gray>"
          - "<dark_gray>Click, then type reason</dark_gray>"
        permission: soapsadmin.ban
        action: "[chat_input] ban"
      tempban:
        slot: 33
        material: IRON_DOOR
        name: "<red>Temp Ban</red>"
        lore:
          - "<gray>Timed ban</gray>"
          - "<dark_gray>Click, then type duration and reason</dark_gray>"
        permission: soapsadmin.tempban
        action: "[chat_input] tempban"
      unban:
        slot: 34
        material: LIME_DYE
        name: "<green>Unban</green>"
        lore:
          - "<gray>Remove an active ban</gray>"
          - "<dark_gray>Click to unban</dark_gray>"
        permission: soapsadmin.unban
        action: "[unban]"
      unmute:
        slot: 35
        material: LIME_WOOL
        name: "<green>Unmute</green>"
        lore:
          - "<gray>Remove an active mute</gray>"
          - "<dark_gray>Click to unmute</dark_gray>"
        permission: soapsadmin.unmute
        action: "[unmute]"
      # Row 5: Utility
      god:
        slot: 37
        material: TOTEM_OF_UNDYING
        name: "<gold>God Mode</gold>"
        lore:
          - "<gray>Toggle invulnerability</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>God Mode On</green>"
        lore-active:
          - "<gray>Player is invulnerable</gray>"
          - "<dark_gray>Click to disable</dark_gray>"
        permission: soapsadmin.god
        requires-online: true
        action: "[god_toggle]"
      fly-toggle:
        slot: 38
        material: FEATHER
        name: "<aqua>Flight</aqua>"
        lore:
          - "<gray>Toggle allow-flight</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Flight On</green>"
        lore-active:
          - "<gray>Player can fly</gray>"
          - "<dark_gray>Click to disable</dark_gray>"
        permission: soapsadmin.fly
        requires-online: true
        action: "[fly_toggle]"
      repair-all:
        slot: 39
        material: ANVIL
        name: "<yellow>Repair All</yellow>"
        lore:
          - "<gray>Repair damageable items</gray>"
          - "<dark_gray>Click to repair</dark_gray>"
        permission: soapsadmin.repair
        requires-online: true
        action: "[repair_all_target]"
      clearinv:
        slot: 40
        material: TNT
        name: "<red>Clear Inventory</red>"
        lore:
          - "<gray>Remove all inventory items</gray>"
          - "<dark_gray>Click to clear</dark_gray>"
        permission: soapsadmin.clearinv
        requires-online: true
        action: "[clearinv_target]"
      kill-player:
        slot: 41
        material: DIAMOND_SWORD
        name: "<red>Kill</red>"
        lore:
          - "<gray>Instantly kill the player</gray>"
          - "<dark_gray>Click to kill</dark_gray>"
        permission: soapsadmin.kill
        requires-online: true
        action: "[kill_target]"
      quick-punish:
        slot: 42
        material: GOLDEN_AXE
        name: "<gold>Quick Punish</gold>"
        lore:
          - "<gray>Apply a punish template</gray>"
          - "<dark_gray>Click, then type template name</dark_gray>"
        permission: soapsadmin.qp
        action: "[chat_input] qp"
      pay:
        slot: 43
        material: GOLD_INGOT
        name: "<gold>Pay</gold>"
        lore:
          - "<gray>Send money to this player</gray>"
          - "<dark_gray>Click, then type amount</dark_gray>"
        permission: soapsadmin.economy.pay
        requires-online: true
        action: "[chat_input] pay"
      launch:
        slot: 44
        material: FIREWORK_ROCKET
        name: "<light_purple>Launch</light_purple>"
        lore:
          - "<gray>Launch along look direction</gray>"
          - "<dark_gray>Click to launch</dark_gray>"
        permission: soapsadmin.launch
        requires-online: true
        action: "[launch_target]"
      # Row 6: Nav
      back:
        slot: 45
        material: ARROW
        name: "<gray>Back</gray>"
        lore:
          - "<gray>Return to where you came from</gray>"
          - "<dark_gray>Click to go back</dark_gray>"
        action: "[playeraction_back]"
      close:
        slot: 53
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  playerinfo:
    title: "<gradient:#00CED1:#00FA9A><bold>Player Info</bold></gradient> <dark_gray>•</dark_gray> <white>{target}</white>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      inspect-hub:
        slot: 37
        material: SPYGLASS
        name: "<aqua>Inspect</aqua>"
        lore:
          - "<gray>Inventory, notes, alts, snapshot</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gui
        action: "[open_playerinfo_inspect]"
      actions:
        slot: 39
        material: COMMAND_BLOCK
        name: "<red>Actions</red>"
        lore:
          - "<gray>Heal, punish, freeze, teleport</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.gui
        action: "[open_player_actions]"
      refresh:
        slot: 41
        material: LIME_DYE
        name: "<green>Refresh</green>"
        lore:
          - "<gray>Reload live stats</gray>"
          - "<dark_gray>Click to refresh</dark_gray>"
        action: "[refresh]"
      close:
        slot: 43
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  playerinfo-hub-inspect:
    title: "<gradient:#00CED1:#00FA9A><bold>Inspect</bold></gradient> <dark_gray>•</dark_gray> <white>{target}</white>"
    size: 4
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      invsee:
        slot: 10
        material: CHEST
        name: "<aqua>Inventory</aqua>"
        lore:
          - "<gray>Open the full inventory</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.invsee
        action: "[invsee]"
      endersee:
        slot: 11
        material: ENDER_CHEST
        name: "<dark_purple>Ender Chest</dark_purple>"
        lore:
          - "<gray>Open the ender chest</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.endersee
        action: "[endersee]"
      notes:
        slot: 12
        material: WRITABLE_BOOK
        name: "<light_purple>Notes</light_purple>"
        lore:
          - "<gray>Staff notes for this player</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.note
        action: "[command] sa notes {target}"
      alts:
        slot: 13
        material: COMPARATOR
        name: "<gold>Alts</gold>"
        lore:
          - "<gray>Shared-IP accounts</gray>"
          - "<dark_gray>Click to check</dark_gray>"
        permission: soapsadmin.alts
        action: "[command] sa alts {target}"
      snapshot:
        slot: 14
        material: COMPASS
        name: "<yellow>Snapshot</yellow>"
        lore:
          - "<gray>First join, playtime, IPs</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        permission: soapsadmin.snapshot
        action: "[command] sa snapshot {target}"
      spectate:
        slot: 15
        material: ENDER_EYE
        name: "<aqua>Spectate</aqua>"
        lore:
          - "<gray>Watch in spectator mode</gray>"
          - "<dark_gray>Click to spectate</dark_gray>"
        permission: soapsadmin.spectate
        action: "[command] sa spectate {target}"
      back:
        slot: 27
        material: ARROW
        name: "<gray>Back</gray>"
        lore:
          - "<dark_gray>Click to return</dark_gray>"
        action: "[open_playerinfo]"
      close:
        slot: 31
        material: BARRIER
        name: "<red>Close</red>"
        lore:
          - "<dark_gray>Click to close</dark_gray>"
        action: "[close]"
  playerselect:
    title: "<gradient:#FF6347:#FF4500><bold>Select Player</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    player-item:
      name: "<yellow>{player_name}</yellow>"
      lore:
        - "<gray>Click for actions</gray>"
    items:
      prev-page:
        slot: 36
        material: ARROW
        name: "<yellow>← Previous Page</yellow>"
        action: "[prev_page]"
      back:
        slot: 38
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
      search:
        slot: 39
        material: OAK_SIGN
        name: "<aqua>Search</aqua>"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 44
        material: ARROW
        name: "<yellow>Next Page →</yellow>"
        action: "[next_page]"
  plugindetail:
    title: "<gradient:#FFD700:#FFA500><bold>Plugin</bold></gradient> <dark_gray>•</dark_gray> <yellow>{plugin_name}</yellow>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Plugin List</gray>"
        action: "[open_menu] pluginlist"
      refresh:
        slot: 49
        material: SUNFLOWER
        name: "<green>Refresh</green>"
        lore:
          - "<gray>Rescan this plugin's metrics</gray>"
        action: "[refresh]"
      close:
        slot: 53
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  pluginlist:
    title: "<gradient:#FFD700:#FFA500><bold>Plugin Monitor</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    gui-item:
      material: COMPASS
      name: "<aqua><bold>Plugin Monitor</bold></aqua>"
      lore:
        - "<gray>Right-click to open the plugin list"
      glow: true
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      refresh:
        slot: 51
        material: SUNFLOWER
        name: "<green>Refresh Scan</green>"
        lore:
          - "<gray>Force rescan all plugins</gray>"
        action: "[refresh]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  support-hub:
    title: "<gradient:#FF6347:#FFD700><bold>Support Hub</bold></gradient>"
    size: 3
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      tab-reports:
        slot: 11
        material: WRITABLE_BOOK
        name: "<red>Reports</red> <gray>({reports_count})</gray>"
        name-active: "<green><bold>Reports</bold></green> <gray>({reports_count})</gray>"
        lore:
          - "<gray>Cheating, grief, and abuse</gray>"
          - "<dark_gray>Click to open queue</dark_gray>"
        lore-active:
          - "<gray>Cheating, grief, and abuse</gray>"
          - "<dark_gray>Click to open queue</dark_gray>"
      tab-tickets:
        slot: 15
        material: PAPER
        name: "<yellow>Tickets</yellow> <gray>({tickets_count})</gray>"
        name-active: "<green><bold>Tickets</bold></green> <gray>({tickets_count})</gray>"
        lore:
          - "<gray>Suggestions and player help</gray>"
          - "<dark_gray>Click to open inbox</dark_gray>"
        lore-active:
          - "<gray>Suggestions and player help</gray>"
          - "<dark_gray>Click to open inbox</dark_gray>"
      back:
        slot: 18
        material: ARROW
        name: "<yellow>Back</yellow>"
        action: "[open_menu] admin-hub-duty"
      close:
        slot: 22
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  reports:
    title: "<gradient:#FF6347:#FF4500><bold>Reports</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      report-item:
        material: PAPER
      search:
        slot: 46
        material: OAK_SIGN
        name: "<aqua>Search</aqua>"
        lore:
          - "<gray>Filter by target, reporter, or reason</gray>"
          - "<dark_gray>Click to type</dark_gray>"
      refresh:
        slot: 47
        material: SUNFLOWER
        name: "<yellow>Refresh</yellow>"
        lore:
          - "<gray>Reload open reports</gray>"
          - "<dark_gray>Click to refresh</dark_gray>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<green>◂ Previous</green>"
        action: "[prev_page]"
      back:
        slot: 48
        material: ARROW
        name: "<yellow>Back to Support Hub</yellow>"
        action: "[open_menu] support-hub"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<green>Next ▸</green>"
        action: "[next_page]"
  report-detail:
    title: "<gradient:#FF6347:#FF4500><bold>Report</bold></gradient> <dark_gray>•</dark_gray> <gray>#{id}</gray>"
    size: 5
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      player-actions:
        slot: 20
        material: PLAYER_HEAD
        name: "<yellow><bold>Player Actions</bold></yellow>"
        lore:
          - "<gray>Open moderation actions for</gray>"
          - "<yellow>{player}</yellow>"
          - "<dark_gray>Click to open</dark_gray>"
      snapshot:
        slot: 22
        material: COMPASS
        name: "<aqua><bold>Snapshot</bold></aqua>"
        lore:
          - "<gray>Inspect player info for</gray>"
          - "<yellow>{player}</yellow>"
          - "<dark_gray>Click to open</dark_gray>"
      teleport:
        slot: 24
        material: ENDER_PEARL
        name: "<green><bold>Teleport</bold></green>"
        lore:
          - "<gray>Teleport to</gray>"
          - "<yellow>{player}</yellow>"
          - "<dark_gray>Click if online</dark_gray>"
      resolve:
        slot: 31
        material: LIME_DYE
        name: "<green><bold>Resolve Report</bold></green>"
        lore:
          - "<gray>Mark report #{id} as handled</gray>"
          - "<dark_gray>Click twice to confirm</dark_gray>"
      back:
        slot: 36
        material: ARROW
        name: "<gray>Back to Reports</gray>"
        action: "[open_menu] reports"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  reportselect:
    title: "<gradient:#FF6347:#FF4500><bold>Report Player</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    player-item:
      name: "<yellow>{player_name}</yellow>"
      lore:
        - "<gray>Click to report this player</gray>"
    items:
      search:
        slot: 46
        material: OAK_SIGN
        name: "<aqua>Search</aqua>"
      filter:
        slot: 47
        material: LIME_DYE
        name: "<white>Filter</white>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<green>◂ Previous</green>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<green>Next ▸</green>"
        action: "[next_page]"
  rtp-worlds:
    enabled: true
    title: "<gradient:#00CED1:#00FA9A><bold>RTP Worlds</bold></gradient> <dark_gray>•</dark_gray> <gray>Select destination</gray>"
    size: 3
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    world-icons:
      world:
        material: GRASS_BLOCK
        name: "<green>Overworld</green>"
        lore:
          - "<gray>Teleport randomly in the overworld</gray>"
      world_nether:
        material: NETHERRACK
        name: "<red>Nether</red>"
        lore:
          - "<gray>Teleport randomly in the nether</gray>"
      world_the_end:
        material: END_STONE
        name: "<dark_purple>The End</dark_purple>"
        lore:
          - "<gray>Teleport randomly in the end</gray>"
  rules:
    title: "<gradient:#00CED1:#00FA9A><bold>Server Rules</bold></gradient> <dark_gray>•</dark_gray> <gray>Read carefully</gray>"
    size: 5
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  shop-buy:
    title: "<gradient:#55FF55:#00AA00>Buy</gradient> <dark_gray>•</dark_gray> <gray>Page </gray><yellow>{page}</yellow>"
    size: 6
    filler: LIME_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 48
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 50
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  shop-hub:
    title: "<gradient:#55FF55:#00AA00>Shop</gradient>"
    size: 3
    filler: LIME_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      balance-info:
        slot: 4
        material: GOLD_NUGGET
        name: "<gold>Your Wallet</gold>"
        lore:
          - "<gray>Balance: <green>{balance}</green></gray>"
          - "<gray>Hand worth: <yellow>{hand_worth}</yellow></gray>"
          - "<gray>Inventory: <aqua>{inv_worth}</aqua></gray>"
      buy:
        slot: 11
        material: EMERALD_BLOCK
        name: "<green>Buy Items</green>"
        lore:
          - "<gray>Browse the buy catalog</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        action: "[open_menu] shop-buy"
      sell:
        slot: 15
        material: GOLD_INGOT
        name: "<yellow>Sell Items</yellow>"
        lore:
          - "<gray>Sell hand or inventory</gray>"
          - "<dark_gray>Click to open</dark_gray>"
        action: "[open_menu] shop-sell"
      info:
        slot: 13
        material: BOOK
        name: "<aqua>Shop Info</aqua>"
        lore:
          - "<gray>Price: /sa price [item]</gray>"
          - "<gray>Worth: /sa worth · Value: /sa value</gray>"
      close:
        slot: 22
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  shop-sell:
    title: "<gradient:#55FF55:#00AA00>Sell</gradient>"
    size: 3
    filler: LIME_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      close:
        slot: 22
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  autosell:
    title: "<green>Autosell</green> <dark_gray>•</dark_gray> <gray>Page </gray><yellow>{page}</yellow>"
    size: 6
    filler: LIME_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 48
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 50
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  chatroom-hub:
    title: "<aqua>Chat Rooms</aqua> <dark_gray>•</dark_gray> <gray>Page </gray><yellow>{page}</yellow>"
    size: 6
    filler: LIGHT_BLUE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 48
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 50
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  chatroom-manage:
    title: "<gold>Room</gold> <dark_gray>•</dark_gray> <aqua>{room}</aqua>"
    size: 6
    filler: LIGHT_BLUE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 48
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 50
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  skinparts:
    title: "<gradient:#E74C3C:#F39C12><bold>Skin Parts</bold></gradient> <dark_gray>•</dark_gray> <gray>{name}</gray>"
    size: 3
    filler: PURPLE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      hat:
        slot: 1
        material: LEATHER_HELMET
        name: "<yellow>Hat</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Hat</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_hat]"
      cape:
        slot: 2
        material: ELYTRA
        name: "<yellow>Cape</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Cape</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_cape]"
      jacket:
        slot: 3
        material: LEATHER_CHESTPLATE
        name: "<yellow>Jacket</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Jacket</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_jacket]"
      left-sleeve:
        slot: 4
        material: LEATHER_LEGGINGS
        name: "<yellow>Left Sleeve</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Left Sleeve</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_left_sleeve]"
      right-sleeve:
        slot: 5
        material: LEATHER_LEGGINGS
        name: "<yellow>Right Sleeve</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Right Sleeve</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_right_sleeve]"
      left-pants:
        slot: 6
        material: LEATHER_BOOTS
        name: "<yellow>Left Pants</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Left Pants</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_left_pants]"
      right-pants:
        slot: 7
        material: LEATHER_BOOTS
        name: "<yellow>Right Pants</yellow>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        name-active: "<green>Right Pants</green>"
        lore-active:
          - "<gray>Status: {status}</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
        action: "[toggle_right_pants]"
      back:
        slot: 18
        material: ARROW
        name: "<gray>Back to Editor</gray>"
        action: "[back]"
      close:
        slot: 22
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  snapshot:
    title: "<gradient:#FF6347:#FF4500><bold>Snapshot</bold></gradient> <dark_gray>•</dark_gray> <white>{target}</white>"
    size: 4
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      first-join:
        slot: 10
        material: CLOCK
        name: "<yellow>First Join</yellow>"
      last-join:
        slot: 11
        material: COMPASS
        name: "<yellow>Last Join</yellow>"
      playtime:
        slot: 12
        material: EXPERIENCE_BOTTLE
        name: "<yellow>Playtime</yellow>"
      ip-count:
        slot: 13
        material: PAPER
        name: "<yellow>IP Count</yellow>"
      no-data:
        slot: 4
        material: BARRIER
        name: "<red>No Data</red>"
        lore:
          - "<gray>Player has never joined</gray>"
      ban-status:
        slot: 19
        material: GREEN_WOOL
        name: "<green>No Ban</green>"
        lore:
          - "<gray>No active ban</gray>"
        material-active: RED_WOOL
        name-active: "<red>Banned</red>"
      mute-status:
        slot: 20
        material: GREEN_WOOL
        name: "<green>No Mute</green>"
        lore:
          - "<gray>No active mute</gray>"
        material-active: RED_WOOL
        name-active: "<red>Muted</red>"
      warnings:
        slot: 21
        material: WRITABLE_BOOK
        name: "<yellow>Warnings</yellow>"
      freeze-status:
        slot: 22
        material: ICE
        name: "<gray>Not Frozen</gray>"
        lore:
          - "<gray>Player is not frozen</gray>"
        material-active: BLUE_ICE
        name-active: "<aqua>Frozen</aqua>"
        lore-active:
          - "<gray>Player is currently frozen</gray>"
      afk-status:
        slot: 23
        material: GRAY_DYE
        name: "<gray>Not AFK</gray>"
        lore:
          - "<gray>Player is active</gray>"
        material-active: LIME_DYE
        name-active: "<yellow>AFK</yellow>"
        lore-active:
          - "<gray>Player is currently AFK</gray>"
      back:
        slot: 31
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
  staff-dashboard:
    title: "<gradient:#FF6347:#FF4500><bold>Staff Dashboard</bold></gradient> <dark_gray>•</dark_gray> <gray>{player}</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  staff-leaderboard:
    title: "<gradient:#FF6347:#FF4500><bold>Staff Leaderboard</bold></gradient> <dark_gray>•</dark_gray> <gray>{period}</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] dashboard"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  staffpanel:
    title: "<gradient:#FF6347:#FF4500><bold>Staff Panel</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: ORANGE_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    player-item:
      name: "<yellow>{player_name}</yellow>"
      lore:
        - "<gray>Click for actions</gray>"
    items:
      prev-page:
        slot: 36
        material: ARROW
        name: "<yellow>← Previous Page</yellow>"
        action: "[prev_page]"
      back:
        slot: 38
        material: ARROW
        name: "<gray>Back to Dashboard</gray>"
        action: "[open_menu] admin-hub-duty"
      search:
        slot: 39
        material: OAK_SIGN
        name: "<aqua>Search</aqua>"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 44
        material: ARROW
        name: "<yellow>Next Page →</yellow>"
        action: "[next_page]"
  ticket-list:
    title: "<gradient:#FFD700:#FFA500><bold>Tickets</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      create-ticket:
        slot: 4
        material: EMERALD
        name: "<green><bold>Create Ticket</bold></green>"
        lore:
          - "<gray>Open a new support ticket</gray>"
          - ""
          - "<yellow>Click to create</yellow>"
      ticket-item:
        material: PAPER
      filter:
        slot: 46
        material: LIME_DYE
        name: "<aqua>Filter</aqua>"
        lore:
          - "<gray>Cycle open, closed, or all</gray>"
          - "<dark_gray>Staff only</dark_gray>"
      refresh:
        slot: 48
        material: SUNFLOWER
        name: "<yellow>Refresh</yellow>"
        lore:
          - "<gray>Reload this ticket list</gray>"
          - "<dark_gray>Click to refresh</dark_gray>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      back:
        slot: 47
        material: ARROW
        name: "<yellow>Back to Support Hub</yellow>"
        action: "[open_menu] support-hub"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  death-settings:
    title: "<gradient:#FFD700:#FFA500><bold>Death Settings</bold></gradient>"
    size: 4
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      insta-respawn:
        slot: 11
        material: TOTEM_OF_UNDYING
        name: "<green>Insta Respawn</green> <dark_gray>({state})</dark_gray>"
        name-active: "<green><bold>Insta Respawn</bold></green> <dark_gray>({state})</dark_gray>"
        lore:
          - "<gray>Respawn immediately on death</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
      bed-respawn:
        slot: 13
        material: RED_BED
        name: "<green>Bed Respawn</green> <dark_gray>({state})</dark_gray>"
        name-active: "<green><bold>Bed Respawn</bold></green> <dark_gray>({state})</dark_gray>"
        lore:
          - "<gray>Allow bed and anchor respawn</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
      spawn-respawn:
        slot: 15
        material: COMPASS
        name: "<green>Spawn Respawn</green> <dark_gray>({state})</dark_gray>"
        name-active: "<green><bold>Spawn Respawn</bold></green> <dark_gray>({state})</dark_gray>"
        lore:
          - "<gray>Use configured spawn on respawn</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
      rtp-respawn:
        slot: 20
        material: ENDER_PEARL
        name: "<green>RTP Respawn</green> <dark_gray>({state})</dark_gray>"
        name-active: "<green><bold>RTP Respawn</bold></green> <dark_gray>({state})</dark_gray>"
        lore:
          - "<gray>Random teleport after respawn</gray>"
          - "<dark_gray>Click to toggle</dark_gray>"
      back:
        slot: 27
        material: ARROW
        name: "<gray>Back</gray>"
        action: "[open_menu] admin-hub-server"
      close:
        slot: 31
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  ticket-view:
    title: "<gradient:#FFD700:#FFA500><bold>Ticket {id}</bold></gradient>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      back:
        slot: 47
        material: ARROW
        name: "<gray>Back to Ticket List</gray>"
        action: "[open_menu] ticket-list"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  trade:
    title: "<gradient:#5EEAD4:#38BDF8><bold>Trade</bold></gradient> <dark_gray>•</dark_gray> <white>{partner}</white>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    # Offer grids stay empty air after fill (TradeGui clears them so panes never sync as offers).
  vault-list:
    title: "<gradient:#9B59B6:#D2B4DE><bold>Vaults</bold></gradient>"
    size: 5
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
  warps:
    title: "<gradient:#00CED1:#00FA9A><bold>Warps</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: CYAN_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"
  waypoint-list:
    title: "<gradient:#FFD700:#FFA500><bold>Waypoints</bold></gradient> <dark_gray>•</dark_gray> <gray>Page {page}</gray>"
    size: 6
    filler: YELLOW_STAINED_GLASS_PANE
    border: GRAY_STAINED_GLASS_PANE
    items:
      create-waypoint:
        slot: 8
        material: EMERALD
        name: "<green><bold>Create waypoint</bold></green>"
        lore:
          - "<gray>Place a waypoint at your feet</gray>"
          - "<gray>Then edit name, marker, and color</gray>"
          - "<dark_gray>{used}/{max} used</dark_gray>"
          - "<dark_gray>Click to begin</dark_gray>"
      prev-page:
        slot: 45
        material: ARROW
        name: "<aqua>◂ Previous</aqua>"
        action: "[prev_page]"
      close:
        slot: 49
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<aqua>Next ▸</aqua>"
        action: "[next_page]"

Still stuck? Ask about this page