Chest UI
About 391 wordsAbout 1 min
2026-07-13
Files
The chest menu is configured independently from command and notification languages:
plugins/Dominion/languages/chest-ui/layout.ymlcontrols rows, slots, and item appearance.plugins/Dominion/languages/chest-ui/texts/en_us.ymlcontrols titles, names, lore, prompts, states, and confirmations.
Only the English reference file is bundled. To add another language, copy en_us.yml, rename it to the configured language code, and keep the same key structure. If that file is absent, Dominion falls back to en_us.
Layout grids and semantic elements
Each string in layout is one inventory row and must contain exactly nine characters. A menu may contain one to six rows. The symbols map assigns each character to a fixed semantic element such as back, content, or close. You may move, repeat, or omit optional elements, but symbols cannot run commands or define arbitrary action chains.
List menus require at least one content slot. The confirmation menu requires confirm, info, and cancel. If one menu is invalid, only that menu uses its built-in layout; other valid custom menus remain active.
Item entries support:
materialandamountcustom-model-dataglowitem-flags, using BukkitItemFlagnameshead-source:dynamic,viewer,none, or a player UUID
Text and placeholders
Text accepts MiniMessage and legacy &/§ formatting. Built-in named placeholders are documented by the English reference comments and include values such as {dominion}, {player}, {group}, {page}, {pages}, and {total}. PlaceholderAPI placeholders are expanded when PlaceholderAPI is available. Dynamic Dominion data is inserted as escaped text so names and messages cannot inject formatting.
On reload, missing menus and keys are added while existing and obsolete keys are preserved. An invalid individual menu falls back independently. If an entire YAML file cannot be parsed, Dominion uses built-in defaults in memory and does not overwrite the damaged file.
Upgrading from the legacy CUI
On the first startup after upgrading, plugins/Dominion/languages/cui is renamed to a timestamped cui-backup-yyyyMMdd-HHmmss directory. The new files are then generated. The legacy layout is not compatible and must be configured again. This backup happens only while the old cui directory exists.
Console text UI and legacy UI subcommands no longer exist. Running /dominion as a player opens the chest menu; running it from the console prints ordinary command help. Residence migration remains command-only through migrate and migrate_all.
