Built-in Menu Guide
Almost every GUI you open in uxmEssentials — the home grid, the warp browser, the kit
list, the vault selector, the /eco and /mod admin panels, the module hub behind
/uxmess gui — is drawn by one shared menu engine. There is no separate "GUI
system" bolted onto each feature: the same code that loads your own menus/*.conf files
loads and renders the built-in menus too.
That has two practical consequences worth knowing before you touch anything:
- They all behave the same way. Pagination, click gestures, refresh-on-change, Bedrock form fallback, sounds — a habit you learn on one menu carries to every menu.
- They are all themeable. Because the built-ins run on the engine, the same vocabulary you use for a custom menu — materials, MiniMessage names and lore, actions and requirements — is what shapes them. You are never stuck with the shipped look.
The menus you already have¶
These open from commands (or from clicking through another menu). You do not create or enable them — they ship with their module and appear as soon as that module is on.
| Menu | Opens with | What it does |
|---|---|---|
| Home grid | /home |
A slot-based grid of your homes. Click a slot to teleport; empty slots create; icons, renames, invites and deletes all happen inside the grid. |
| Warp browser | /warp, /warp list |
Every warp you are allowed to use, one icon each. Click to teleport (pays the cost / prompts for a password if set). |
| Warp editor | /warp editor [name] |
The staff-side editor for a warp: cost, permission gates, arrival effects, welcome message, icon. |
| Kit browser | /kit, /kit list |
Claimable kits with their cooldown state shown live. Click a ready kit to claim it; click a locked one to see why. |
| Vault selector | /vault (with several) |
A picker across your vaults when you own more than one; each tile shows its name and icon. Click to open that vault. |
| Player-warp list | /pwarp |
Manage and browse player-owned warps. |
| Economy admin | /eco |
The staff economy hub — give / take / set balances, history and logs, notes and backups — routed to the matching sub-panels. |
| Moderation panel | /mod |
The staff moderation hub; many bare commands (/ban, /mute, …) also open a picker → confirm flow built on the engine. |
| Module hub | /uxmess gui |
The management hub: a tile per module leading into that module's own settings panels. |
| Per-module settings | /tpsettings, /msgsettings, /presencesettings, /scoreboard gui, … |
The personal and admin settings panels each module exposes. |
These are management GUIs, not custom menus
The built-in panels live in each module's modules/<module>/gui/ folder as their own
.conf files. They are loaded by the always-on management framework and styled with
the same engine grammar as your menus/*.conf files — but they are wired to
type-safe feature handlers, so a click there does real work (charging a balance,
issuing a ban) that a plain custom menu could not do on its own.
What every built-in menu shares¶
Because they all run on the one engine, the following is true of the home grid, the kit
browser, the /eco panels and every other built-in alike.
Click gestures¶
Menus react differently to different clicks. A left-click usually performs the primary action; a right-click, shift-click or middle-click may do something secondary (preview instead of claim, delete instead of open). Where a menu uses more than one gesture on the same tile, its lore says so.
Live refresh¶
Tiles that show a changing value — a kit's remaining cooldown, your balance in the economy panel, a home's occupancy — re-render on their own while the menu is open. You do not need to close and reopen to see the current number.
Pagination¶
Lists longer than one page (many warps, a long transaction history) page with the arrow tiles. The page controls sit on pinned slots so they never move as the contents scroll.
Bedrock players get a native form¶
A player joining through Floodgate/Geyser does not see a chest GUI — the same menu is rendered as a native Bedrock form. Storage-style menus that show real item stacks (the vault, the inventory viewer) stay as a chest even on Bedrock, because a form cannot hold item stacks. See Bedrock Forms.
Re-theming a built-in menu¶
You theme a built-in the same way you author a custom one — you just edit the file the module already ships instead of creating a new one.
- Find the panel under
plugins/uxmEssentials/modules/<module>/gui/<menu>.conf. - Change what you want: an item's
material, itsnameandlore(verbatim MiniMessage), itsslot, or adddecor { glow = true }. - Reload just that module:
/uxmess reload <module>.
Change the look, keep the wiring
In a built-in panel, the item ids and their click bindings are what connect a
tile to real behaviour (charging a balance, teleporting home). Re-skin freely —
material, name, lore, slot, glow — but do not rename or delete the bound ids unless
you mean to remove that button. If a file fails to load after an edit, only that one
panel refuses; the log names the file and line.
Delete a key to fall back to its shipped default; delete the whole file to regenerate it from defaults on next load.
Next Steps¶
- Custom Menu Engine — build your own menu in
menus/<name>.conf. - Actions & Requirements — the click and visibility vocabulary every menu, built-in or custom, is made of.
- Bedrock Forms — how a menu renders for Floodgate players.
- Per-Module Config — where each module's
gui/panels live.