Customize the catalog
Edit: the role’sgui.yml · Apply: the role’s reload command
This page is about the inventory screens players use to browse recordings: the catalog (the list) and the details screen (one recording). The lobby and standalone player use the same menu configuration model. Their Watch action differs: the lobby dispatches to another server; the standalone player starts local playback.
Where to configure menus
Editcatalog and details in that role’s gui.yml. There is no enclosing gui: key. The player creates this GUI only when availability is disabled at startup. Recorder does not have catalog menus.
Open the catalog with /reverseplayer (or /reverseplayer gui) or /reverselobby gui; /reverseview without an ID also opens it from the lobby. Use /reverseplayer help for the compact player guide; the lobby and recorder bare roots show their guides. When no replays are accessible to the viewer, the GUI stays closed and sends gui-empty from that role’s messages.yml (player.gui-empty for player).
Each menu has:
The default catalog has six rows: five rows of replay cards and a navigation row. The default details menu has three rows, Information at slot 15, Watch at 11, and Back at 22.
Menu slots start at 0. The player hotbar uses slots 1–9 instead. Keep this difference in mind when copying a slot number between guides.
Item fields
Unknown/AIR item materials fall back to stone in the current menu item builder. Use the material names available on your actual server instead of relying on this fallback.
Add a delete button
Merge an item underdetails.items in gui.yml:
Built-in actions
Actions needing a replay belong on replay cards/details, not arbitrary catalog background items with no selection. Third-party plugins can register their own IDs using the menu API.
Visibility states
Catalog states includeloading, empty, ready, can-back, and can-advance. Details use loading, empty, and ready.
The list is an AND condition. [ready, can-advance] requires both. [loading, ready] usually describes mutually exclusive states and is not “loading or ready.” Use separate items if you need alternative states.
Details fetch the selected replay’s metadata asynchronously. The default Watch button appears when that lookup reaches ready; Information and Back have no visibility condition. An entirely blank details inventory, including those unconditional items, is a different symptom from a temporarily hidden Watch button. See empty details troubleshooting.
Placeholders
Replay names/descriptions are inserted as literal data, not parsed as MiniMessage instructions. The default Watch item uses a plain instruction and the
reverse:watch action; it does not need a separate status-text placeholder.
Catalogue cards emphasize name, date and duration; the details item includes the full UUID via <id>. Use that placeholder in custom action commands too. There is no short/full ID pair and no name-based lookup. Names and descriptions are inserted literally, including when they contain markup-shaped text.
Reloading
Use/reverselobby reload or /reverseplayer reload after editing. Reopen a menu to inspect changes and to see fresh metadata. A malformed menu can reject configuration preparation; check the log rather than repeatedly deleting the configuration file.

