๐ Home¶
The next-generation Minecraft GUI plugin powered by the Paper Dialog API โ a fresh interactive experience beyond traditional chest menus
KaMenu is a GUI plugin built for modern Minecraft Paper servers. It abandons the traditional Inventory (chest) menu pattern in favor of the native Paper 1.21.7+ Dialog API, providing players with a modern menu interface featuring rich interactive components such as text inputs, sliders, single-option buttons, and checkboxes. Configuration is YAML-based โ clean, intuitive, and ready to use out of the box.
โ ๏ธ Important:
- Minimum version: Paper 1.21.7
- Recommended version: Paper 1.21.8+
- Full feature version: Paper 1.21.9+ (supports sprite item icons, player head avatars, and other advanced features)
- Supported server software: Paper, Folia, and forks that provide a compatible Paper Dialog API
KaMenu does not support Paper 1.21.6 or earlier. Make sure your server meets the version requirements!
KaMenu supports Folia's region-threaded execution model. Menu opening, delayed actions, periodic tasks, JavaScript delay helpers, and the external menu API automatically use the appropriate Paper or Folia scheduler. Custom JavaScript, external action handlers, and third-party PlaceholderAPI expansions must still follow Folia's threading rules.
โจ Core Features¶
๐ฅ๏ธ Modern GUI Based on the Dialog API¶
Say goodbye to chest menus and embrace native UI:
- A brand-new Paper Dialog menu interface with a more modern look
- Multiple rich interactive components: text inputs, numeric sliders, single-option buttons, checkboxes
- Supports
Item(item display) andMessage(plain text) content components - Three bottom button layout modes:
notice,confirmation,multi
๐ง Highly Customizable¶
- Fully YAML-based configuration โ no programming knowledge required
- Supports multi-level folder structures for easy management of large numbers of menus
- Hot-reload support โ no server restart needed after editing configs
๐ Powerful Action System¶
Supports a wide range of button click actions:
tell/actionbar/titleโ multiple message delivery methodscommand/consoleโ execute player or console commandssoundโ play sounds (with volume, pitch, and category parameters)open/closeโ menu navigation and dismissalhovertextโ hoverable and clickable chat textactionsโ execute predefined action lists (supports reuse and conditional branching)wait/returnโ delay subsequent actions or stop the current action chainset-data/set-gdataโ read/write persistent dataurl/copyโ open links or copy to clipboard
Advanced action and text features:
{js:...}โ use JavaScript expression or JavaScript package results in any text position; no return value resolves to empty textEvents.Openโ waits for the full action chain before opening the menuEvents.Tasksโ run action groups periodically while the menu is open
๐ Universal Condition System¶
- Use conditions in any text field (title, button text, component text)
- Nest conditions within action lists for branching execution logic
- Supports PlaceholderAPI variables, comparison operators (
==!=><>=<=), and logical operators (&&||) {js:...}can be used directly in conditions for dynamic evaluation
๐พ Built-in Data Storage¶
- Supports SQLite (default) and MySQL
- Player data (
{data:key}): individual key-value pairs stored by player UUID - Global data (
{gdata:key}): key-value pairs shared across all players - Data variables are exposed externally via PlaceholderAPI
๐ Multiple Ways to Open Menus¶
/kamenu guideโ open the built-in getting started guide for first-time setup, language selection, and example release/km open <menuId>โ standard command- Hotkey listener: configure pressing
F(swap offhand) to open a specified menu - Custom command registration: map any word to a menu with a single line of config
- External plugin API: other plugins can open file menus or render in-memory YAML /
YamlConfigurationmenus without writing to themenusdirectory or reloading
๐ PlaceholderAPI Support¶
- Full PAPI variable parsing (usable in menu titles, component text, and actions)
- Provides
%kamenu_data_<key>%,%kamenu_gdata_<key>%,%kamenu_list_<key>%,%kamenu_glist_<key>%, and%kamenu_online_players%variables
๐ฐ Support¶
KaMenu is a free and open-source plugin. You can download the source code from GitHub and build the latest experimental features yourself.
GitHub - Katacr/KaMenugithub.com/Katacr/KaMenu/
๐ค Community & Feedback¶
- GitHub: Katacr/KaMenu
- Issue Tracker: GitHub Issues
๐ License¶
This project is open-sourced under the GPL-3.0 license.