Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
A lightweight GUI menu plugin for Paper and Spigot servers. Create menus easily with YAML configuration.
Changelog
v5.0.0
Changes for Plugin Administrators
This release includes major configuration and directory structure changes from v4.2.0 to v5.0.0.
Directory Structure Changes
v4.2.0
plugins/EasyMenuPlugin/
├── config.yml # Includes menu definitions
└── sub/
└── *.yml
v5.0.0
plugins/EasyMenu/
├── config.yml # Plugin settings only
├── main.yml # New: main menu definition
└── sub/
└── *.yml
Important: The plugin folder name has changed from EasyMenuPlugin to EasyMenu.
Configuration File Separation
v4.2.0
All settings were managed in a single config.yml.
config.yml
├── language settings
├── load-on-startup
├── menu-title
├── menu-opensound
├── menu-size
└── menu-items # Main menu definition
v5.0.0
Settings are now separated into two files.
config.yml # Plugin settings
├── language
├── debug
├── load-on-startup
├── precache-submenus
├── async settings # New
├── cache settings # New
└── submenu settings # New
main.yml # Main menu definition
├── menu-title
├── menu-opensound
├── menu-background-item
├── menu-size
└── menu-items
New Configuration Options
| Option | File | Description |
|---|---|---|
debug |
config.yml |
Enables or disables debug mode. |
async.worker-threads |
config.yml |
Number of worker threads for asynchronous processing. Default: 2. |
cache.submenu-expiry-seconds |
config.yml |
Expiration time for submenu cache entries. Default: 300 seconds. |
cache.submenu-max-size |
config.yml |
Maximum number of cached submenus. Default: 100. |
cache.cleanup-interval-seconds |
config.yml |
Cache cleanup interval. Default: 60 seconds. |
cache.resolved-path-max-size |
config.yml |
Maximum number of cached resolved paths. Default: 200. |
submenu.search-depth |
config.yml |
Recursive search depth for submenus. Default: 3. |
submenu.listener-failsafe-seconds |
config.yml |
Listener failsafe timeout. Default: 30 seconds. |
Command Changes
| Command | v4.2.0 | v5.0.0 | Change |
|---|---|---|---|
/menu |
Opens the menu only. | Opens the menu or reloads the configuration. | /menu reload can now reload settings. |
/menureload |
Reloads the configuration. | Reloads the configuration, but is deprecated. | Still available for compatibility. |
/submenu <id> |
Opens a submenu. | Opens a submenu. | No change. |
Usage Examples
/menu # Open the main menu
/menu reload # New: reload settings, administrators only
/menureload # Legacy method, deprecated
/submenu shop # Open the shop submenu
Permission Changes
v4.2.0
menu.reload # Reload permission
v5.0.0
easymenu.admin # New recommended reload permission
menu.reload # Legacy permission kept for compatibility
Migration Example
permissions:
easymenu.admin:
description: "EasyMenu administrator permission"
default: op
Initial Setup for v5.0.0
- Install the plugin.
Place EasyMenu-5.0.0.jar into the plugins/ directory.
- Start the server.
The plugins/EasyMenu/ folder and default configuration files are generated automatically.
- Edit the configuration files.
plugins/EasyMenu/config.yml # Plugin settings
plugins/EasyMenu/main.yml # Main menu definition
- Restart the server or reload the configuration.
/menu reload
New Performance Tuning Options
The new version includes configurable performance-related settings.
Example for Large Servers
async:
worker-threads: 4
cache:
submenu-max-size: 200
cleanup-interval-seconds: 30
Example for Small Servers
async:
worker-threads: 1
cache:
submenu-max-size: 50
cleanup-interval-seconds: 120
Upgrade Checklist
- Confirm the plugin folder name:
plugins/EasyMenu/. - Migrate from the old
EasyMenuPlugin/folder if needed. - Update
config.ymlto the new format. - Create
main.ymland move the main menu definition into it. - Update permissions to use
easymenu.admin. - Tune cache settings for your server environment.
- Verify plugin behavior using the
/menucommand.
Other Improvements
| Area | Improvement |
|---|---|
| Cache system | Submenu cache expiration can now be managed. |
| Debug mode | Detailed logs can now be output during troubleshooting. |
| Asynchronous processing | Worker thread count can now be adjusted. |
Information
| Published on | April 29, 2026 |
|---|---|
| Downloads | 2 |
Platforms
Paper (1.16-26.1.2)