Docs
Menus
Every menu is a YAML file in plugins/PulsePrison/menus/. Titles, rows, items, slots, texts, conditions and actions can be changed without touching code. The full format is explained at the top of menus/pickaxe.yml, and each file lists its own placeholders and actions.
Changes apply with /prison reload.
Included menus
| File | Opened with | Content |
|---|---|---|
menus/pickaxe.yml | Right click with the pickaxe | Enchants, auto-sell, pickaxe stats |
menus/enchant-upgrade.yml | From the pickaxe menu | Buy levels of an enchant |
menus/mines.yml | /mines | Rank mines and private mine access |
menus/ranks.yml | /rankup menu | Ranks and requirements |
menus/clan.yml | /clan menu | Clan, members and bank |
menus/market.yml | /market | Dynamic market prices |
menus/backpack.yml | /backpack | Virtual backpack |
menus/pets.yml | /pets | Pet collection |
menus/skills.yml | /skills | Pickaxe skill tree |
menus/robot.yml | /robot open or right click a robot | Robot management |
menus/robot-workshop.yml | Right click a Robot Workshop | Deploy robots |
menus/autominer.yml | /autominer | Autominer time, upgrades and status |
menus/afk-block.yml | Right click an AFK block | Stored rewards |
menus/attributes.yml | /attributes | Permanent upgrades |
menus/boosters.yml | /booster | Active boosters |
menus/milestones.yml | /milestones | Milestone categories |
menus/milestone-category.yml | From milestones | Milestones of a category |
menus/masteries.yml | /mastery | Enchant masteries |
menus/skins.yml | /skins | Pickaxe skins |
menus/crystals.yml | /crystals | Crystal sockets |
menus/armors.yml | /armor | Armor sets |
menus/abilities.yml | /ability | Active abilities |
menus/settings.yml | /settings or the pickaxe menu button | Player settings |
Private mines have their own menus in pmines/menus/ (main, members, public, admin, admin-types).
Menu options
| Option | Description |
|---|---|
title | Title, accepts @message.key and placeholders |
rows | Rows, 1 to 6 |
open-sound | Sound on open |
item-click-cooldown | Milliseconds between clicks |
back-menu | Menu the back action returns to |
Item options
| Option | Description |
|---|---|
material | Material, head-<player>, texture-<base64> or {placeholder} |
slot | 4, 0-8 or 0-8, 45-53 |
name / lore | Text; lines starting with [if <condition>] only show when true (=, !=, <, >, <=, >=) |
glow | true, false or a condition |
amount | Number or placeholder |
custom-model-data | Resource pack model, number or placeholder |
requirement | Condition to show the item |
click-requirement / deny-actions | Condition to run the click, and actions when it fails |
update-interval | Ticks between refreshes of the item |
list | Fills the slots with a list, with pages |
fixed-slots | The list uses the slot each entry defines |
left-click-actions · right-click-actions · shift-left-click-actions · shift-right-click-actions · any-click-actions | Actions per click type |
Texts and placeholders
- A text that is only
@message.keyuses each player's language. - The menu
{placeholders}, listed in each file, and PlaceholderAPI%placeholders%. {module_<id>}istruewhen the module is enabled, for example{module_crystals}or{module_pickaxe_skins}(dashes are written as underscores).- If a multi-line placeholder sits on a line with
[if ...], the condition applies to all its lines.
Actions
close, back, refresh, page-next, page-previous, open-menu <menu> [key=value], message <text>, player <command>, console <command>, sound <sound> [volume] [pitch], every bracket action ([message], [console], [give], [title]...) and each menu's own actions, documented in its file.
Example
yaml
title: "@menu.attributes.title"
rows: 4
items:
filler:
material: BLACK_STAINED_GLASS_PANE
slot: "0-35"
name: " "
attributes:
list: attributes
fixed-slots: true
material: "{icon}"
name: "{name}"
lore:
- "@menu.attributes.attribute-lore"
glow: "{maxed}"
left-click-actions:
- "attribute-upgrade {id}"