Skip to main content

Menus

Players browse their collections in three GUI menus. Layout is set in menus.yml; the wording is set in the language files (see Layout versus text below).

The three menus

  • Main menu lists every collection. It arranges them into the content-slots you set and adds a second page automatically when they overflow. A collection set to inline shows its resources here directly instead of a single icon.
  • Category menu opens when a player clicks a collection. It lists every resource in that collection, with pages if there are too many to fit.
  • Resource menu opens when a player clicks a discovered resource. It shows every tier of that resource, its rewards, and your progress, and is where rewards are claimed.

The main menu, hovering the Fishing collection to show its description

Locked resources show a hidden name and a hint. Discovered resources show progress, the current tier, and the next reward. See Progression for how those states work, and Tiers and Rewards for claiming.

Hovering a locked Mining resource, which hides its name and shows an unlock hint

Layout versus text

menus.yml controls layout only: which slots hold what, item materials, and how many rows each menu has. All menu text (titles, button names, lore, tier labels) lives in the language files under lang/, so it follows the language: setting and can be translated. To change wording, edit the lang file; to move things around, edit menus.yml. See Messages and Language.

Opening a menu

Players run /collection to open the main menu. See Commands.

Layout settings

Each menu is defined in menus.yml. You set the number of rows, the filler item, and where the buttons and items go. The button names and menu titles come from the lang files.

SettingWhat it controls
rowsMenu height, 1 to 6 rows
fillerThe item shown in empty slots
content-slotsThe list of slots collections (or inline resources) are placed in, filled in order
next-page and prev-pageThe pagination buttons, shown only when entries overflow one page
claim-all-buttonThe Claim All button, shown in claim reward mode
close-buttonThe slot and item of the close button. Set enabled: false to hide it

The main menu fills content-slots in order: one entry per collection, or one entry per resource for a collection set to inline: true in categories.yml. When the entries do not all fit, a Next Page button appears; otherwise there are no page buttons. Give a collection a slot (and page) in categories.yml to pin it to an exact spot instead of auto-filling; an inline collection's resources can each take their own slot the same way.

Category menu

SettingWhat it controls
rowsMenu height
fillerThe item shown in empty slots
back-buttonReturns to the main menu
close-buttonCloses the menu. Set enabled: false to hide it
resource-slotsThe list of slots resources are placed in, filled in order
next-page and prev-pageThe pagination buttons, used when resources overflow

Resource menu

SettingWhat it controls
rowsMenu height
fillerThe item shown in empty slots
tier-slotsThe list of slots tiers are placed in, lowest tier first
tierThe item material for each tier state: locked, claimable, and claimed
back-buttonReturns to the previous menu: the category menu, or the main menu for an inline collection
close-buttonCloses the menu. Set enabled: false to hide it

Slots are counted from 0 in the top-left, going left to right, top to bottom. A six-row menu has slots 0 to 53.

Example

main-menu:
rows: 6
filler:
material: BLACK_STAINED_GLASS_PANE
name: ' '
content-slots: [10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25]
prev-page:
slot: 45
material: ARROW
next-page:
slot: 53
material: ARROW
claim-all-button:
slot: 48
material: HOPPER
close-button:
enabled: true
slot: 49
material: BARRIER

resource-menu:
rows: 6
tier-slots: [10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25]
tier:
locked:
material: GRAY_STAINED_GLASS_PANE
claimable:
material: LIME_STAINED_GLASS_PANE
claimed:
material: LIME_DYE

The wording (titles, button names, tier labels) is set in the language file, where colors use the & code format, including hex colors like &#FFD700 and gradients. See Colors for every code you can use.