Featues

πŸ—‚οΈ Menus

On this page, you will find how to customize the menus of the plugin and how to create your own.

circle-info

Every menu is a file in the menus folder inside the PhoenixLobby folder.

The plugin ships with four menus, each one its own file:

File Menu
servers.yml The server selector, the compass
lobbies.yml The lobby selector, the book
music.yml The music menu of discs
player-settings.yml The player settings toggles

Everything in these files is yours to change, and none of them has to stay as a menu of servers or of discs.

#Custom Menus

Any other .yml file you drop into the menus folder becomes a menu of its own. The file name is the name of the menu, so menus/events.yml is opened with:

'[MENU] events'

That action works anywhere actions do β€” a hotbar item, an NPC, a hologram, a join action or another menu β€” so one menu can open the next.

circle-info

The plugin reads the folder when it starts, so a new file needs a /plobby reload before it can be opened.

circle-exclamation

A file named after a menu that already exists is skipped, so naming your own file servers.yml or music.yml will not replace the built-in one. Pick a different name.

#Settings

Every menu starts with a settings block that decides the frame it is drawn in.

settings:
  title: 'Custom Menu'
  rows: 3
  refresh:
    enabled: false
    rate: 40
  on-open-actions: []
Option Description
title The name shown at the top, colour codes and placeholders included
rows How tall the menu is, from 1 to 6
refresh.enabled Redraws the menu while it is open, for lore that changes
refresh.rate How often it redraws, in ticks
on-open-actions Actions that run when a player opens the menu

Leave refresh.enabled off unless the menu shows something live, such as a player count. A menu that redraws is rebuilt for every player watching it.

#Items

Under items, every entry is one item. The name on the left is only an identifier for you.

items:
  close-menu:
    slot: 31
    material: BARRIER
    amount: 1
    display-name: '&aClose Menu'
    lore:
    - '&7Click here to close this menu.'
    - ''
    - '&6Left-Click: &eClose menu.'
    actions:
    - '[CLOSE_INVENTORY]'

Items accept the full set of appearance options β€” custom-model-data, item-model, glow, hide-attributes and the rest β€” which are listed on Item Options.

Clicking an item runs its actions, so an item can send the player to a server, run a command, play a sound or open another menu. Every action is on the Action Types page.

#Slots

Menu slots start at 0 in the top-left corner and count across each row, so a 3-row menu runs from 0 to 26 and the middle of its bottom row is 22.

    slot: 22
    slot: '18-26'
    slot: '18, 22, 26'

A range fills every slot between the two numbers, which is how the grey background rows in the default menus are made. A negative slot hides the item without deleting it.

circle-exclamation

Hotbar items are numbered differently: those start at 1, because they use the slot numbers a player sees on their hotbar. Menus start at 0.

#Pagination

The lobby selector and the music menu hold more entries than fit on one screen, so they carry a pagination block on top of their items.

pagination:
  align-items: LEFT
  slots: '10-16'
  fill-item:
    material: AIR
  previous-item:
    slot: 9
    material: ARROW
    display-name: '&6Previous page - Page %page%'
  next-item:
    slot: 17
    material: ARROW
    display-name: '&6Next page - Page %page%'

slots is the area the entries are drawn into, and fill-item is what fills the leftover slots on the last page. %page% on the arrows prints the page they lead to.

#Lobby Selector Entries

lobbies.yml has one more section, because its entries are the lobbies themselves rather than items you wrote. lobby.not-connected is the entry for a lobby the player can join, and lobby.connected is the one they are already on.

lobby:
  not-connected:
    material: PLAYER_HEAD
    display-name: '&aLobby #%number%'
    lore:
    - '&7Players: %current_players%/%max_players%'
    - '&7Is Online: &f%is_online%'
    - ''
    - '&6Left-click: &eClick to connect.'
  connected:
    material: PLAYER_HEAD
    display-name: '&cLobby #%number%'
    lore:
    - '&7Players: %current_players%/%max_players%'
    - ''
    - '&cAlready connected!'
Placeholder Returns
%number% The position of the lobby in the list
%current_players% Players on that lobby
%max_players% Slot count of that lobby
%is_online% Yes or No, taken from your translations file

#Music Menu Entries

music.yml works the same way with a single disc section, repeated for every disc of your server version. %disc% is the readable name and %disc_id% is the id [PLAY_DISC] takes.

disc:
  display-name: '&a%disc%'
  lore:
  - '&7Click to play this music disc.'
  actions:
  - '[PLAY_DISC] %disc_id%'
  - '[MESSAGE] &6Now playing &e%disc%&6.'
Last updated 43 minutes ago
My Cart (0 items)

Oops... looks like the spiders padded through here

Add products to your cart and remove them from here Lets buy