▸ Overview
Why configure menus in a text editor when you can build them in Minecraft? LMenus is an efficient GUI builder that lets you create, design, and configure your server's menus entirely in-game. Whether you are building a massive server selector or a simple VIP kit, you can design, scale, and fully configure every single button 100% in-game.
▸ Key Features
- 100% In-Game Creation: Create, edit, and design your menus directly through a visual Minecraft GUI interface.
- Advanced Button Assignment: Assign buttons to items in the menu with multiple commands or link directly to other menus.
- Powerful Flag System: Use button and menu flags to completely alter appearance and functionality.
- API Integrations: Full PlaceholderAPI and Vault API support for live variables and economy transactions.
- HEX Color Support: Make your menus pop with full HEX color code formatting everywhere.
▸ The Flag System
Customize your menus and individual buttons using our interactive, click-to-apply flag system. Just click the item in the GUI to apply the rule!
Menu Flags:
- auto_refresh <true/false> - Continuously re-render the menu each tick for live PAPI updates.
- filler_item <'none'/MATERIAL> - Fills empty slots with this item (with blank display name).
- permission <value> - Restricts who can open the menu.
Button Flags:
- cooldown <seconds> - Per-player cooldown before the slot can be clicked again.
- close_on_click <true/false> - Whether to close the inventory on click.
- permission <value> - Restricts who can use this button.
- cost <value> - Vault economy cost charged on click.
- visible_no_permission <true/false> - Whether to show the item to players who lack the button's permission.
▸ Additional Features
- Every single message is completely configurable in the config.yml.
- Auto TAB completion for every command to drastically simplify the setup process.
- Anti-Dupe protection prevents shift-clicking, offhand swapping, and double-clicking.
▸ Admin Commands
- /lm create <name> <size> [title] - Create a new menu (lmenus.admin.create)
- /lm edit <name> - Open the visual editor (lmenus.admin.edit)
- /lm resize <name> <size> - Adjust GUI size safely (lmenus.admin.resize)
- /lm retitle <name> <title> - Rename inventory title (lmenus.admin.retitle)
- /lm remove <name> - Delete menu from disk (lmenus.admin.remove)
- /lm reload - Reload config & messages (lmenus.admin.reload)
- /lm button command <menu> <isPlayer> <cmd> - Bind commands (lmenus.admin.button)
- /lm button menu <menu> <target> - Bind a menu link (lmenus.admin.button)
- /lm button remove <menu> - Clear a button (lmenus.admin.button)
- /lm flag menu <menu> <flag> <value> - Set a menu flag (lmenus.admin.flags)
- /lm flag button <menu> <flag> <value> - Set a button flag (lmenus.admin.flags)
- /lm flag list - Display all flags (lmenus.admin.flags)
▸ Player Commands
- /lm open <name> - Open a menu (lmenus.use.open)
- /lm info <name> - View menu metadata (lmenus.use.info)
- /lm list - List all loaded menus (lmenus.use.list)
- /lm help - Show the help menu (lmenus.use.help)
▸ Soft Dependencies
- Placeholder API - If you want variables (%player_name%, %server_time%, etc.) to work in menus, this plugin is needed.
- Vault API - If you want to link menus with economy.
Video Tutorial:
If you are lost, confused, or stuck at any point with this plugin, please reach out to me here, on GitHub, or on Discord (username: theeluke).