Oops... looks like the spiders padded through here
Add products to your cart and remove them from here Lets buyOn this page, you will find how to customize the menus of the plugin and how to create your own.
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.
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.
The plugin reads the folder when it starts, so a new file needs a /plobby reload before it can be opened.
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.
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.
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.
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.
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.
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.
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.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.'
Oops... looks like the spiders padded through here
Add products to your cart and remove them from here Lets buy