Menu Customization

Menu Customization

Three menus are fully laid out from YAML: the main menu (mainmenu.yml), the Mine Shop (modules/economy/gui.yml, section SellShop) and the Stats menu (modules/core/gui.yml, section Stats). The other menus have fixed layouts; their gui.yml sets titles, and for the Journal and Minion menus also item names, lore and slots.

Layout format

yaml
title: "&9&lBusyMining"
rows: 6

items:
  background-black:
    material: BLACK_STAINED_GLASS_PANE
    slots: [1, 3, 5, 7, 9]
  shop:
    material: CHEST
    slots: 20
    name: "&6&lMine Shop"
    lore:
      - "&7Sell your gemstones, fluxes"
      - "&7and sealed artifacts."
  • title, rows (1-6): the menu title and height. The shop and stats menus use Title and Rows inside their section.
  • Each entry under items is one button or decoration. Its key is its id, and the id decides what a click does.
  • material and slots are required. slots is one number or a list. Slots outside the menu are skipped.
  • Optional: amount, model_data (custom model data for resource packs), name, lore, glowing: true.
  • Glass panes without a name get a blank one so they show nothing on hover.
  • A PLAYER_HEAD shows the viewer's head (in the Stats menu, the viewed player's head).

Clickable ids

Main menu (mainmenu.yml):

Id Click
shop, stats, journal, singularity, artifacts, vessels, upgrades, oracle, refinery, minion Open that menu
pickaxe_view Shows the held pickaxe; toggles opening the menu with a pickaxe
credits Plugin info (no action)
backarrow-commands Runs Settings.Other.MainMenuBackArrow.Commands from modules/core/config.yml as the player

Placeholders: {player}, {level}, {xp}, {required}, {zeta}, {version}. Buttons for a disabled module are hidden.

Mine Shop (modules/economy/gui.yml):

Id Click
sell-shop Sell everything in the sell area
sell-player Sell every sellable item in the player's inventory
back-arrow Back to the main menu (hidden when HideBackArrows is on)
zeta-shop Open the Zeta Shop (hidden when ZetaShopEnabled: false)

Every slot without an item is part of the sell area, so adding decoration shrinks it. Placeholders: {symbol}, {basic}, {blazed}, {gem1} to {gem6} (current prices).

Stats menu (modules/core/gui.yml):

back-arrow returns to the main menu. Placeholders: {player}, {money}, {gems}, {runes}, {oracles}, {artifacts}, {artifacts_identified}, {fossils}, {total}, {basic}, {blazed}, {zeta}, {level}, {current}, {required}. The title accepts {player} too.

Any other id is decoration.

Menu titles

Menu Key
Artifact Identifier Identifier.Title in modules/artifact/gui.yml
Singularity Singularity.Title in modules/singularity/gui.yml
Oracle status GUI.Oracle.Title in modules/oracle/gui.yml
Vessels VesselMenu.Title in modules/vessel/gui.yml
Journal and Gemstone Collection Journal.* and Collection.* in modules/journal/gui.yml
Minion MinionMenu.* in modules/minion/gui.yml

Applying changes

/mine reload re-reads every menu file. Menus that are already open keep their old layout until they're reopened.