Default gui.yml

Last updated Oct 28, 2026

Default gui.yml

Shipped defaults from SoapsTeleporter 1.0.7. After first run, this file lives in plugins/SoapsTeleporter/.

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

See also: Config Reference · Admin GUI

# ============================================
#     SoapsTeleporter GUI Configuration
# ============================================
#
# Suite GUI: config.yml -> gui.enabled is the master kill-switch for this plugin's
# inventory UIs. This file defines menu layout (titles, sizes, items). Text may use
# MiniMessage; legacy & and § are accepted where documented.
# SoapsAdmin uses a gui/ folder for many menus (advanced suite layout).
#
# All text supports MiniMessage format.
# Placeholders (replaced per-context):
#   {portal}         - Portal name
#   {status}         - Enabled/Disabled
#   {type}           - Portal type (STANDARD, ONEWAY, RTP)
#   {connected}      - Connected portal name or "None"
#   {world}          - Portal world name
#   {direction}      - Exit direction
#   {cost}           - Teleport cost or "Free"
#   {cooldown}       - Cooldown in seconds or "None"
#   {warmup}         - Warmup in seconds or "None"
#   {conditions}     - Number of conditions
#   {commands}       - Number of commands
#   {uses}           - Total usage count
#   {last_used}      - Last used timestamp
#   {page}           - Current page number
#   {total_pages}    - Total pages
#   {total_portals}  - Total portal count
#   {pos1}           - Position 1 coordinates
#   {pos2}           - Position 2 coordinates
#   {particle}       - Particle type
#   {color}          - Dust color
#   {sound}          - Sound name
#   {pitch}          - Sound pitch
#   {volume}         - Sound volume
#   {orientation}    - Portal orientation
#   {size}           - Portal size (blocks)
#   {player}         - Player name
#
# Actions:
#   [close]            - Close the GUI
#   [back]             - Go back to previous menu
#   [open_menu] <id>   - Open a menu (portal_list, main_menu, visual, audio, economy, connection, conditions, commands, admin, info, connect_selector, type_selector, direction_selector)
#   [prev_page]        - Previous page
#   [next_page]        - Next page
#   [toggle_enable]    - Toggle portal enabled/disabled
#   [chat_input] <t>   - Open chat input (setparticle, setcolor, setcount, setspread, setsound, setpitchvolume, setcost, setcooldown, setwarmup, connect, rename)
#   [unlink]           - Unlink connected portal
#   [delete]           - Delete portal (shows confirm)
#   [move]             - Move portal to selection
#   [tp]               - Teleport to portal
#   [select_portal]    - Select this portal for connection
#   [set_type] <type>  - Set portal type
#   [set_direction] <dir> - Set exit direction
#   [disable_sound]    - Disable portal sound
#   [add_condition]    - Open add-condition menu
#   [add_enter_cmd]    - Start enter command input
#   [add_exit_cmd]     - Start exit command input
#   [confirm]          - Confirm pending action
#   [cancel]           - Cancel pending action
#
# Slot numbers start at 0.
# material-active / name-active / lore-active are used for toggled states.
# ============================================

settings:
  # Material used to fill empty slots in all GUIs
  filler-material: GRAY_STAINED_GLASS_PANE
  filler-name: " "
  # Sound played on GUI click (set to NONE to disable)
  click-sound: UI_BUTTON_CLICK
  click-sound-volume: 0.5
  click-sound-pitch: 1.0

# ============================================
#               Menu Definitions
# ============================================
menus:

  # ------------------------------------------
  #         Portal List (Paginated)
  # ------------------------------------------
  portal_list:
    title: "<dark_purple><bold>Portal List</bold></dark_purple> <gray>(Page {page}/{total_pages})</gray>"
    size: 6
    portal-item:
      name: "<green><bold>{portal}</bold></green>"
      lore:
        - "<gray>Status: {status}</gray>"
        - "<gray>Type: {type}</gray>"
        - "<gray>Connected: {connected}</gray>"
        - "<gray>Uses: {uses}</gray>"
        - ""
        - "<yellow>Left-click to manage</yellow>"
        - "<aqua>Right-click for info</aqua>"
      material-enabled: ENDER_PEARL
      material-disabled: ENDER_EYE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<gold>← Previous Page</gold>"
        action: "[prev_page]"
      page-info:
        slot: 49
        material: BOOK
        name: "<white>Page {page}/{total_pages}</white>"
        lore:
          - "<gray>{total_portals} total portals</gray>"
      close:
        slot: 48
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"
      next-page:
        slot: 53
        material: ARROW
        name: "<gold>Next Page →</gold>"
        action: "[next_page]"

  # ------------------------------------------
  #         Portal Info (Dashboard)
  # ------------------------------------------
  portal_info:
    title: "<dark_aqua><bold>Info:</bold></dark_aqua> <white>{portal}</white>"
    size: 5
    items:
      header:
        slot: 4
        material: ENDER_PEARL
        name: "<green><bold>{portal}</bold></green>"
        lore:
          - "<gray>Detailed portal information</gray>"
          - ""
          - "<gray>Status: {status}</gray>"
          - "<gray>Type: {type}</gray>"
      # --- Row 1: Location & Geometry ---
      world:
        slot: 10
        material: GRASS_BLOCK
        name: "<green>World</green>"
        lore:
          - "<gray>World: <white>{world}</white></gray>"
          - "<gray>Orientation: <white>{orientation}</white></gray>"
          - "<gray>Size: <white>{size} blocks</white></gray>"
      position1:
        slot: 11
        material: CYAN_CONCRETE
        name: "<aqua>Position 1</aqua>"
        lore:
          - "<gray>{pos1}</gray>"
      position2:
        slot: 12
        material: ORANGE_CONCRETE
        name: "<gold>Position 2</gold>"
        lore:
          - "<gray>{pos2}</gray>"
      connection:
        slot: 14
        material: IRON_CHAIN
        name: "<aqua>Connection</aqua>"
        lore:
          - "<gray>Connected to: <white>{connected}</white></gray>"
          - "<gray>Type: <white>{type}</white></gray>"
          - "<gray>Direction: <white>{direction}</white></gray>"
        material-active: IRON_CHAIN
        name-active: "<red>Not Connected</red>"
        lore-active:
          - "<gray>This portal is not linked</gray>"
          - "<gray>Use the connection menu to link</gray>"
      # --- Row 2: Effects & Economy ---
      particles:
        slot: 19
        material: BLAZE_POWDER
        name: "<light_purple>Particles</light_purple>"
        lore:
          - "<gray>Type: <white>{particle}</white></gray>"
          - "<gray>Color: <white>{color}</white></gray>"
      sound:
        slot: 20
        material: NOTE_BLOCK
        name: "<gold>Sound</gold>"
        lore:
          - "<gray>Sound: <white>{sound}</white></gray>"
          - "<gray>Pitch: <white>{pitch}</white></gray>"
          - "<gray>Volume: <white>{volume}</white></gray>"
      economy:
        slot: 22
        material: GOLD_INGOT
        name: "<green>Economy & Timing</green>"
        lore:
          - "<gray>Cost: <white>{cost}</white></gray>"
          - "<gray>Cooldown: <white>{cooldown}</white></gray>"
          - "<gray>Warmup: <white>{warmup}</white></gray>"
      conditions:
        slot: 23
        material: COMPARATOR
        name: "<red>Conditions</red>"
        lore:
          - "<gray>Active conditions: <white>{conditions}</white></gray>"
      commands:
        slot: 24
        material: COMMAND_BLOCK
        name: "<yellow>Commands</yellow>"
        lore:
          - "<gray>Active commands: <white>{commands}</white></gray>"
      # --- Row 3: Stats & Actions ---
      stats:
        slot: 28
        material: EXPERIENCE_BOTTLE
        name: "<aqua>Usage Statistics</aqua>"
        lore:
          - "<gray>Total uses: <white>{uses}</white></gray>"
          - "<gray>Last used: <white>{last_used}</white></gray>"
      teleport:
        slot: 30
        material: ENDER_EYE
        name: "<light_purple>Teleport to Portal</light_purple>"
        lore:
          - "<gray>Click to teleport to this portal</gray>"
        action: "[tp]"
      manage:
        slot: 32
        material: WRITABLE_BOOK
        name: "<gold>Manage Portal</gold>"
        lore:
          - "<gray>Open full management menu</gray>"
        action: "[open_menu] main_menu"
      back:
        slot: 36
        material: ARROW
        name: "<gray>Back to Portal List</gray>"
        action: "[open_menu] portal_list"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"

  # ------------------------------------------
  #          Main Management Menu
  # ------------------------------------------
  main_menu:
    title: "<dark_purple><bold>Manage:</bold></dark_purple> <white>{portal}</white>"
    size: 5
    items:
      header:
        slot: 4
        material: ENDER_PEARL
        name: "<green><bold>{portal}</bold></green>"
        lore:
          - "<gray>Status: {status}</gray>"
          - "<gray>Type: {type}</gray>"
          - "<gray>Connected: {connected}</gray>"
        material-active: ENDER_EYE
        name-active: "<red><bold>{portal}</bold></red>"
        lore-active:
          - "<red>Status: Disabled</red>"
          - "<gray>Type: {type}</gray>"
          - "<gray>Connected: {connected}</gray>"
      # --- Category Buttons (Row 2) ---
      info:
        slot: 10
        material: BOOK
        name: "<dark_aqua><bold>Portal Info</bold></dark_aqua>"
        lore:
          - "<gray>View complete portal details</gray>"
          - "<gray>Coordinates, stats, properties</gray>"
          - ""
          - "<yellow>Click to view</yellow>"
        action: "[open_menu] info"
      visual:
        slot: 12
        material: PAINTING
        name: "<light_purple><bold>Visual Effects</bold></light_purple>"
        lore:
          - "<gray>Particles, colors, spread</gray>"
          - ""
          - "<yellow>Click to configure</yellow>"
        action: "[open_menu] visual"
      audio:
        slot: 14
        material: NOTE_BLOCK
        name: "<gold><bold>Audio Settings</bold></gold>"
        lore:
          - "<gray>Sound, pitch, volume</gray>"
          - ""
          - "<yellow>Click to configure</yellow>"
        action: "[open_menu] audio"
      economy:
        slot: 16
        material: GOLD_INGOT
        name: "<green><bold>Economy & Timing</bold></green>"
        lore:
          - "<gray>Cost, cooldown, warmup</gray>"
          - ""
          - "<yellow>Click to configure</yellow>"
        action: "[open_menu] economy"
      connection:
        slot: 20
        material: IRON_CHAIN
        name: "<aqua><bold>Connection</bold></aqua>"
        lore:
          - "<gray>Link portals, set type & direction</gray>"
          - ""
          - "<yellow>Click to configure</yellow>"
        action: "[open_menu] connection"
      conditions:
        slot: 22
        material: COMPARATOR
        name: "<red><bold>Conditions ({conditions})</bold></red>"
        lore:
          - "<gray>Requirements to use portal</gray>"
          - ""
          - "<yellow>Click to configure</yellow>"
        action: "[open_menu] conditions"
      commands:
        slot: 24
        material: COMMAND_BLOCK
        name: "<yellow><bold>Commands ({commands})</bold></yellow>"
        lore:
          - "<gray>Enter/exit commands</gray>"
          - ""
          - "<yellow>Click to configure</yellow>"
        action: "[open_menu] commands"
      admin:
        slot: 31
        material: REDSTONE_TORCH
        name: "<dark_red><bold>Admin Actions</bold></dark_red>"
        lore:
          - "<gray>Enable/disable, rename, move, delete</gray>"
          - ""
          - "<yellow>Click to configure</yellow>"
        action: "[open_menu] admin"
      # --- Navigation (Row 4) ---
      back:
        slot: 36
        material: ARROW
        name: "<gray>Back to Portal List</gray>"
        action: "[open_menu] portal_list"
      close:
        slot: 40
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"

  # ------------------------------------------
  #          Visual Effects Menu
  # ------------------------------------------
  visual:
    title: "<light_purple><bold>Visual:</bold></light_purple> <white>{portal}</white>"
    size: 3
    items:
      header:
        slot: 4
        material: PAINTING
        name: "<light_purple><bold>Current Settings</bold></light_purple>"
        lore:
          - "<gray>Particle: <white>{particle}</white></gray>"
          - "<gray>Color: <white>{color}</white></gray>"
          - "<gray>Count: <white>{count}</white></gray>"
      set-particle:
        slot: 10
        material: BLAZE_POWDER
        name: "<gold><bold>Set Particle Type</bold></gold>"
        lore:
          - "<gray>Change the particle effect</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] setparticle"
      set-color:
        slot: 12
        material: RED_DYE
        name: "<red><bold>Set Color</bold></red>"
        lore:
          - "<gray>Set dust particle color (hex)</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] setcolor"
      set-count:
        slot: 14
        material: REDSTONE
        name: "<dark_red><bold>Set Particle Count</bold></dark_red>"
        lore:
          - "<gray>Number of particles per tick</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] setcount"
      set-spread:
        slot: 16
        material: FEATHER
        name: "<white><bold>Set Spread</bold></white>"
        lore:
          - "<gray>Particle spread distribution</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] setspread"
      back:
        slot: 18
        material: ARROW
        name: "<gray>Back to Manage</gray>"
        action: "[back]"
      close:
        slot: 26
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"

  # ------------------------------------------
  #            Audio Menu
  # ------------------------------------------
  audio:
    title: "<gold><bold>Audio:</bold></gold> <white>{portal}</white>"
    size: 3
    items:
      header:
        slot: 4
        material: NOTE_BLOCK
        name: "<gold><bold>Current Settings</bold></gold>"
        lore:
          - "<gray>Sound: <white>{sound}</white></gray>"
          - "<gray>Pitch: <white>{pitch}</white></gray>"
          - "<gray>Volume: <white>{volume}</white></gray>"
      set-sound:
        slot: 11
        material: JUKEBOX
        name: "<green><bold>Set Sound</bold></green>"
        lore:
          - "<gray>Change teleport sound effect</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] setsound"
      set-pitch-volume:
        slot: 13
        material: BELL
        name: "<aqua><bold>Set Pitch & Volume</bold></aqua>"
        lore:
          - "<gray>Adjust sound properties</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] setpitchvolume"
      disable-sound:
        slot: 15
        material: STRUCTURE_VOID
        name: "<red><bold>Disable Sound</bold></red>"
        lore:
          - "<gray>Remove the teleport sound</gray>"
          - ""
          - "<yellow>Click to disable</yellow>"
        action: "[disable_sound]"
      back:
        slot: 18
        material: ARROW
        name: "<gray>Back to Manage</gray>"
        action: "[back]"
      close:
        slot: 26
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"

  # ------------------------------------------
  #         Economy & Timing Menu
  # ------------------------------------------
  economy:
    title: "<green><bold>Economy:</bold></green> <white>{portal}</white>"
    size: 3
    items:
      header:
        slot: 4
        material: GOLD_INGOT
        name: "<green><bold>Current Settings</bold></green>"
        lore:
          - "<gray>Cost: <white>{cost}</white></gray>"
          - "<gray>Cooldown: <white>{cooldown}</white></gray>"
          - "<gray>Warmup: <white>{warmup}</white></gray>"
      set-cost:
        slot: 11
        material: EMERALD
        name: "<green><bold>Set Cost</bold></green>"
        lore:
          - "<gray>Set teleportation cost</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] setcost"
      set-cooldown:
        slot: 13
        material: CLOCK
        name: "<aqua><bold>Set Cooldown</bold></aqua>"
        lore:
          - "<gray>Time between uses (seconds)</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] setcooldown"
      set-warmup:
        slot: 15
        material: HOPPER
        name: "<gold><bold>Set Warmup</bold></gold>"
        lore:
          - "<gray>Delay before teleport (seconds)</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] setwarmup"
      back:
        slot: 18
        material: ARROW
        name: "<gray>Back to Manage</gray>"
        action: "[back]"
      close:
        slot: 26
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"

  # ------------------------------------------
  #          Connection Menu
  # ------------------------------------------
  connection:
    title: "<aqua><bold>Connection:</bold></aqua> <white>{portal}</white>"
    size: 3
    items:
      header:
        slot: 4
        material: IRON_CHAIN
        name: "<aqua><bold>Connection Status</bold></aqua>"
        lore:
          - "<gray>Target: <white>{connected}</white></gray>"
          - "<gray>Type: <white>{type}</white></gray>"
          - "<gray>Direction: <white>{direction}</white></gray>"
      connect:
        slot: 10
        material: TRIPWIRE_HOOK
        name: "<green><bold>Connect Portal</bold></green>"
        lore:
          - "<gray>Link to another portal</gray>"
          - ""
          - "<yellow>Click to browse portals</yellow>"
        material-active: SHEARS
        name-active: "<red><bold>Unlink Portal</bold></red>"
        lore-active:
          - "<gray>Currently linked to: <white>{connected}</white></gray>"
          - ""
          - "<yellow>Click to unlink</yellow>"
        action: "[open_menu] connect_selector"
        action-active: "[unlink]"
      set-type:
        slot: 13
        material: END_PORTAL_FRAME
        name: "<dark_purple><bold>Set Portal Type</bold></dark_purple>"
        lore:
          - "<gray>Current: <white>{type}</white></gray>"
          - ""
          - "<yellow>Click to change type</yellow>"
        action: "[open_menu] type_selector"
      set-direction:
        slot: 16
        material: COMPASS
        name: "<gold><bold>Set Direction</bold></gold>"
        lore:
          - "<gray>Current: <white>{direction}</white></gray>"
          - ""
          - "<yellow>Click to change direction</yellow>"
        action: "[open_menu] direction_selector"
      back:
        slot: 18
        material: ARROW
        name: "<gray>Back to Manage</gray>"
        action: "[back]"
      close:
        slot: 26
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"

  # ------------------------------------------
  #    Connect Selector (Paginated Picker)
  # ------------------------------------------
  connect_selector:
    title: "<green><bold>Connect:</bold></green> <white>{portal}</white> <gray>(Page {page})</gray>"
    size: 6
    portal-item:
      name: "<yellow>{portal}</yellow>"
      lore:
        - "<gray>World: {world}</gray>"
        - "<gray>Type: {type}</gray>"
        - ""
        - "<green>Click to connect</green>"
      name-connected: "<red>{portal}</red>"
      lore-connected:
        - "<gray>World: {world}</gray>"
        - "<red>Already connected to another portal</red>"
      material-available: LIME_CONCRETE
      material-connected: RED_CONCRETE
    items:
      prev-page:
        slot: 45
        material: ARROW
        name: "<gold>← Previous Page</gold>"
        action: "[prev_page]"
      page-info:
        slot: 49
        material: BOOK
        name: "<white>Page {page}/{total_pages}</white>"
        lore:
          - "<gray>Select a portal to connect</gray>"
      back:
        slot: 48
        material: ARROW
        name: "<gray>Back to Connection</gray>"
        action: "[back]"
      next-page:
        slot: 53
        material: ARROW
        name: "<gold>Next Page →</gold>"
        action: "[next_page]"

  # ------------------------------------------
  #       Type Selector (Click-to-Pick)
  # ------------------------------------------
  type_selector:
    title: "<dark_purple><bold>Portal Type:</bold></dark_purple> <white>{portal}</white>"
    size: 3
    items:
      header:
        slot: 4
        material: END_PORTAL_FRAME
        name: "<dark_purple><bold>Select Portal Type</bold></dark_purple>"
        lore:
          - "<gray>Current type: <white>{type}</white></gray>"
          - ""
          - "<gray>Click a type below to apply</gray>"
      standard:
        slot: 11
        material: ENDER_PEARL
        name: "<green><bold>Standard</bold></green>"
        lore:
          - "<gray>Two-way teleport between</gray>"
          - "<gray>connected portals</gray>"
          - ""
          - "<yellow>Click to select</yellow>"
        material-active: ENDER_PEARL
        name-active: "<green><bold>✔ Standard (Active)</bold></green>"
        lore-active:
          - "<gray>Two-way teleport between</gray>"
          - "<gray>connected portals</gray>"
          - ""
          - "<green>Currently selected</green>"
        action: "[set_type] STANDARD"
      oneway:
        slot: 13
        material: ARROW
        name: "<gold><bold>One-Way</bold></gold>"
        lore:
          - "<gray>Teleport in one direction only</gray>"
          - "<gray>Destination does not teleport back</gray>"
          - ""
          - "<yellow>Click to select</yellow>"
        material-active: SPECTRAL_ARROW
        name-active: "<gold><bold>✔ One-Way (Active)</bold></gold>"
        lore-active:
          - "<gray>Teleport in one direction only</gray>"
          - "<gray>Destination does not teleport back</gray>"
          - ""
          - "<green>Currently selected</green>"
        action: "[set_type] ONEWAY"
      rtp:
        slot: 15
        material: CHORUS_FRUIT
        name: "<light_purple><bold>Random Teleport</bold></light_purple>"
        lore:
          - "<gray>Teleport to a random location</gray>"
          - "<gray>within configurable range</gray>"
          - ""
          - "<yellow>Click to select</yellow>"
        material-active: CHORUS_FLOWER
        name-active: "<light_purple><bold>✔ RTP (Active)</bold></light_purple>"
        lore-active:
          - "<gray>Teleport to a random location</gray>"
          - "<gray>within configurable range</gray>"
          - ""
          - "<green>Currently selected</green>"
        action: "[set_type] RTP"
      back:
        slot: 18
        material: ARROW
        name: "<gray>Back to Connection</gray>"
        action: "[back]"
      close:
        slot: 26
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"

  # ------------------------------------------
  #    Direction Selector (Compass-Style)
  # ------------------------------------------
  direction_selector:
    title: "<gold><bold>Direction:</bold></gold> <white>{portal}</white>"
    size: 3
    items:
      header:
        slot: 4
        material: COMPASS
        name: "<gold><bold>Select Exit Direction</bold></gold>"
        lore:
          - "<gray>Current: <white>{direction}</white></gray>"
          - ""
          - "<gray>Players will face this direction</gray>"
          - "<gray>after teleporting</gray>"
      north:
        slot: 10
        material: BLUE_CONCRETE
        name: "<blue><bold>North</bold></blue>"
        lore:
          - "<gray>Players face North (-Z)</gray>"
          - "<yellow>Click to select</yellow>"
        action: "[set_direction] NORTH"
      south:
        slot: 11
        material: RED_CONCRETE
        name: "<red><bold>South</bold></red>"
        lore:
          - "<gray>Players face South (+Z)</gray>"
          - "<yellow>Click to select</yellow>"
        action: "[set_direction] SOUTH"
      east:
        slot: 12
        material: GREEN_CONCRETE
        name: "<green><bold>East</bold></green>"
        lore:
          - "<gray>Players face East (+X)</gray>"
          - "<yellow>Click to select</yellow>"
        action: "[set_direction] EAST"
      west:
        slot: 13
        material: YELLOW_CONCRETE
        name: "<yellow><bold>West</bold></yellow>"
        lore:
          - "<gray>Players face West (-X)</gray>"
          - "<yellow>Click to select</yellow>"
        action: "[set_direction] WEST"
      up:
        slot: 15
        material: WHITE_CONCRETE
        name: "<white><bold>Up</bold></white>"
        lore:
          - "<gray>Players look up (-90° pitch)</gray>"
          - "<yellow>Click to select</yellow>"
        action: "[set_direction] UP"
      down:
        slot: 16
        material: BLACK_CONCRETE
        name: "<dark_gray><bold>Down</bold></dark_gray>"
        lore:
          - "<gray>Players look down (90° pitch)</gray>"
          - "<yellow>Click to select</yellow>"
        action: "[set_direction] DOWN"
      default:
        slot: 22
        material: RECOVERY_COMPASS
        name: "<gray><bold>Default (Auto)</bold></gray>"
        lore:
          - "<gray>Auto: look out of portal (relative approach)</gray>"
          - "<yellow>Click to select</yellow>"
        action: "[set_direction] DEFAULT"
      back:
        slot: 18
        material: ARROW
        name: "<gray>Back to Connection</gray>"
        action: "[back]"
      close:
        slot: 26
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"

  # ------------------------------------------
  #      Conditions Menu (Paginated)
  # ------------------------------------------
  conditions:
    title: "<red><bold>Conditions:</bold></red> <white>{portal}</white> <gray>(Page {page})</gray>"
    size: 6
    items:
      add-condition:
        slot: 47
        material: EMERALD
        name: "<green><bold>Add Condition</bold></green>"
        lore:
          - "<gray>Add a new condition</gray>"
        action: "[add_condition]"
      page-info:
        slot: 49
        material: BOOK
        name: "<white>Page {page}/{total_pages}</white>"
        lore:
          - "<gray>{conditions} conditions</gray>"
      back:
        slot: 51
        material: ARROW
        name: "<gray>Back to Manage</gray>"
        action: "[back]"
      prev-page:
        slot: 45
        material: ARROW
        name: "<gold>← Previous Page</gold>"
        action: "[prev_page]"
      next-page:
        slot: 53
        material: ARROW
        name: "<gold>Next Page →</gold>"
        action: "[next_page]"

  # ------------------------------------------
  #    Add Condition Menu (3 Pages)
  # ------------------------------------------
  add_condition:
    title: "<green><bold>Add Condition</bold></green> <gray>(Page {page}/3)</gray>"
    size: 3
    items:
      back:
        slot: 22
        material: ARROW
        name: "<gray>Back to Conditions</gray>"
        action: "[back]"
      prev-page:
        slot: 18
        material: ARROW
        name: "<gold>← Previous Page</gold>"
        action: "[prev_page]"
      next-page:
        slot: 26
        material: ARROW
        name: "<gold>Next Page →</gold>"
        action: "[next_page]"

  # ------------------------------------------
  #      Commands Menu (Paginated)
  # ------------------------------------------
  commands:
    title: "<yellow><bold>Commands:</bold></yellow> <white>{portal}</white> <gray>(Page {page})</gray>"
    size: 6
    items:
      add-enter:
        slot: 47
        material: LIME_CONCRETE_POWDER
        name: "<green><bold>Add Enter Command</bold></green>"
        lore:
          - "<gray>Type command in chat</gray>"
        action: "[add_enter_cmd]"
      add-exit:
        slot: 48
        material: RED_CONCRETE_POWDER
        name: "<red><bold>Add Exit Command</bold></red>"
        lore:
          - "<gray>Type command in chat</gray>"
        action: "[add_exit_cmd]"
      page-info:
        slot: 49
        material: BOOK
        name: "<white>Page {page}/{total_pages}</white>"
        lore:
          - "<gray>{commands} commands</gray>"
      back:
        slot: 51
        material: ARROW
        name: "<gray>Back to Manage</gray>"
        action: "[back]"
      prev-page:
        slot: 45
        material: ARROW
        name: "<gold>← Previous Page</gold>"
        action: "[prev_page]"
      next-page:
        slot: 53
        material: ARROW
        name: "<gold>Next Page →</gold>"
        action: "[next_page]"

  # ------------------------------------------
  #            Admin Menu
  # ------------------------------------------
  admin:
    title: "<dark_red><bold>Admin:</bold></dark_red> <white>{portal}</white>"
    size: 3
    items:
      status:
        slot: 4
        material: LIME_WOOL
        name: "<green><bold>Status: Enabled</bold></green>"
        material-active: RED_WOOL
        name-active: "<red><bold>Status: Disabled</bold></red>"
      toggle-enable:
        slot: 10
        material: EMERALD_BLOCK
        name: "<green><bold>Enable Portal</bold></green>"
        lore:
          - "<gray>Allow portal usage</gray>"
          - "<yellow>Click to enable</yellow>"
        material-active: REDSTONE_BLOCK
        name-active: "<red><bold>Disable Portal</bold></red>"
        lore-active:
          - "<gray>Prevent portal usage</gray>"
          - "<yellow>Click to disable</yellow>"
        action: "[toggle_enable]"
      rename:
        slot: 12
        material: NAME_TAG
        name: "<gold><bold>Rename Portal</bold></gold>"
        lore:
          - "<gray>Change the portal name</gray>"
          - ""
          - "<dark_gray>Type in chat after clicking</dark_gray>"
        action: "[chat_input] rename"
      move:
        slot: 14
        material: MINECART
        name: "<aqua><bold>Move Portal</bold></aqua>"
        lore:
          - "<gray>Move to your current selection</gray>"
          - ""
          - "<yellow>Click to move</yellow>"
        action: "[move]"
      delete:
        slot: 16
        material: TNT
        name: "<dark_red><bold>Delete Portal</bold></dark_red>"
        lore:
          - "<red>Permanently delete this portal</red>"
          - ""
          - "<yellow>Click to confirm</yellow>"
        action: "[delete]"
      back:
        slot: 18
        material: ARROW
        name: "<gray>Back to Manage</gray>"
        action: "[back]"
      close:
        slot: 26
        material: BARRIER
        name: "<red>Close</red>"
        action: "[close]"

  # ------------------------------------------
  #          Confirm Dialog
  # ------------------------------------------
  confirm:
    title: "<red><bold>Confirm Action</bold></red>"
    size: 3
    items:
      info:
        slot: 4
        material: PAPER
        name: "<red><bold>Confirm: {action}</bold></red>"
        lore:
          - "<gray>{description}</gray>"
      confirm-btn:
        slot: 11
        material: LIME_WOOL
        name: "<green><bold>CONFIRM</bold></green>"
        lore:
          - "<gray>Proceed with action</gray>"
        action: "[confirm]"
      cancel-btn:
        slot: 15
        material: RED_WOOL
        name: "<red><bold>CANCEL</bold></red>"
        lore:
          - "<gray>Go back</gray>"
        action: "[cancel]"

Still stuck? Ask about this page