Converting Other Menus
If you are moving to uxmEssentials from another menu plugin, you don't have to rebuild
your GUIs by hand. /menu convert reads a competitor's YAML and writes the equivalent
uxmEssentials HOCON into your menus/ folder, translating materials, names, lore, slots,
click actions and conditions into the engine's own vocabulary.
It is a best-effort tool โ expect it to carry roughly three-quarters of a typical menu across cleanly and to flag the rest for you to finish. It never crashes on a bad file and it never overwrites your work silently: you review the output and reload when you're happy.
Supported sources¶
| Source | Command | Notes |
|---|---|---|
| DeluxeMenus | /menu convert deluxemenus <path> |
The widest coverage โ menu_title, size, open_requirement, and each item's material/name/lore/slots and per-gesture click commands and requirements. |
| zMenu | /menu convert zmenu <path> |
Typed action/requirement maps (- type: โฆ) mapped onto our refs; a two-line messages action becomes two message: refs, a data action becomes data-add/data-sub/data-set. |
| OGUI (OGUI-Custom-GUIs) | /menu convert ogui <path> |
Reads the single root-key GUI shape; supports both plain commands: lists and typed actions: (CONSOLE_COMMAND, PLAYER_MESSAGE, OPEN_GUI, โฆ), and open-command aliases. |
| GUIPlus | /menu convert guiplus <path> |
Reads the format its wiki documents (GUIPlus is closed-source). Multi-scene files convert their first scene only. |
<path> may point at a single file or a directory; a directory converts every file in
it, and one unparsable file never aborts the rest of the batch. Each converted file is
written as menus/<original-basename>.conf.
What you get back¶
Every convert prints a short report:
- found โ files it looked at,
- converted โ files it wrote,
- skipped โ files it could not parse at all,
- warnings โ the per-menu compromises it made (an unmappable action, a dropped condition, a legacy colour code left as-is).
The report never fails the command; read the warnings, then open the new files.
Nothing is loaded until you reload
Convert writes files but does not auto-reload โ deliberately, so you can review
the output first. Once you're happy, run /menu reload to load the new menus, or
/menu reload <name> for one.
What maps, and what to watch for¶
Carried across cleanly: title, rows/size, item materials, names and lore, slots,
per-gesture click actions (commands, messages, money, teleport), open requirements and
common conditions (permission, money, world, placeholder comparisons). All of it is
rewritten in uxmEssentials' bare id:value form โ never the bracketed [tag] form the
source used.
Common caveats:
- Colour codes stay legacy. Old
&a/ยงc/ raw#77ff77codes are carried through verbatim and warned about once. They still render, but you'll want to move them to MiniMessage (<green>) to match the rest of your menus. - PlaceholderAPI tokens keep working.
%player_name%and friends pass straight through โ our renderer resolves PAPI. OGUI's{player}is rewritten to%player%. - Scripting is never converted. JavaScript expressions and script actions/conditions are dropped by design (a locked decision โ the engine has no scripting), with a warning.
- Unknown actions degrade. An action type with no clean equivalent becomes a
best-effort
console:command when it names one, otherwise it is skipped and warned. - Unmappable conditions are dropped. A condition we have no gate for is removed rather than guessed at โ check the warnings so a tile isn't left ungated.
- Multi-page / multi-scene sources lose the extra pages. GUIPlus converts its first scene only; a pattern-backed zMenu item whose pattern file isn't read is skipped whole.
- Per-action delays and modifiers (DeluxeMenus
<delay=โฆ>, GUIPlusexecutionDelay) are stripped with a warning, not converted.
Review, then reload
Treat the output as a strong first draft. Skim each new file for warned lines โ the
legacy colour codes and the dropped conditions are where the ~20% that didn't map
lives โ fix those, then /menu reload. Everything else is usually ready to open.
Next Steps¶
- Custom Menu Engine โ edit and extend the files convert produced.
- Actions & Requirements โ the vocabulary convert maps onto.
- Migrating from EssentialsX โ the wider data import path.