
Easymenu
A lightweight GUI menu plugin for Paper and Spigot servers. Create menus easily with YAML configuration.
- Загрузки
- 2K
- Подписчики
- 6
- Обновлён
- 25 апреля 2026 г.
- Лицензия
- All-Rights-Reserved
Опубликован 9 ноября 2024 г.
EasyMenu
EasyMenu is a lightweight GUI menu plugin for Spigot and Paper servers.
Create clean, clickable Minecraft menus using simple YAML files. Build a main menu, add unlimited submenus, run commands from items, customize sounds and lore, and reload your menu setup without restarting the server.
日本語にも対応しています
Features
YAML-based menu creation
Create and edit menus with simple configuration files.Main menu and submenu support
Usemain.ymlfor the main menu and place submenu files inside thesub/folder.Unlimited nested menus
Open submenus from menu items and return to the main menu when needed.Command execution from menu items
Run player commands such as/spawn,/home,/warp, or any command provided by other plugins.Custom item display
Configure materials, names, lore, sounds, slot positions, and custom model data.Multi-language support
Built-in language files for English, Japanese, and Russian.Async loading and cache system
Menu loading and submenu access are optimized with asynchronous processing and configurable caching.No external dependencies
EasyMenu works without requiring Vault, PlaceholderAPI, or any other plugin.
Requirements
| Requirement | Version |
|---|---|
| Java | 17 or newer |
| Server software | Spigot / Paper / Purpur |
| Minecraft API version | 1.20+ |
| Verified Versions | 1.21.8 |
| Supported Versions (Not all versions have been individually tested) | 1.16.x~paper latest |
| Dependencies | None |
| Folia may load, but full compatibility is not guaranteed. |
Installation
- Download the latest EasyMenu
.jarfile. - Place it into your server's
pluginsfolder. - Restart the server.
- Edit the generated files in
plugins/EasyMenu/. - Run
/menuin-game to open the menu.
After the first startup, EasyMenu generates the following structure:
plugins/EasyMenu/
├── config.yml
├── main.yml
├── lang/
└── sub/
Basic Usage
Open the main menu
/menu
Reload the configuration
/menu reload
Open a submenu directly
/submenu <id>
Example:
/submenu shop
Permissions
| Permission | Description | Default |
|---|---|---|
easymenu.admin |
Allows reloading the EasyMenu configuration | OP |
menu.reload |
Legacy reload permission kept for compatibility | OP |
/menureload is still available for compatibility, but /menu reload is the recommended command.
Example Main Menu
Create or edit plugins/EasyMenu/main.yml.
menu-title: "&6&lEasyMenu"
menu-opensound: "ENTITY_EXPERIENCE_ORB_PICKUP"
menu-background-item: "GRAY_STAINED_GLASS_PANE"
menu-size: 54
menu-items:
- location: "5,3"
material: "DIAMOND"
name: "&bTeleport Home"
command: "/home"
sound: "ENTITY_ENDERMAN_TELEPORT"
close-menu: true
lore:
- "&7Click to teleport"
- "&7to your home."
- location: "5,4"
material: "EMERALD"
name: "&aShop"
command: "sub_shop"
sound: "BLOCK_NOTE_BLOCK_PLING"
close-menu: true
lore:
- "&7Open the shop menu."
Example Submenu
Create plugins/EasyMenu/sub/shop.yml.
menu-title: "&a&lShop Menu"
menu-opensound: "BLOCK_CHEST_OPEN"
menu-background-item: "LIME_STAINED_GLASS_PANE"
menu-size: 27
menu-items:
- location: "3,2"
material: "DIAMOND"
name: "&bBuy Diamonds"
command: "/buy diamond 1"
sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
close-menu: false
lore:
- "&7Price: $100"
- location: "5,3"
material: "BARRIER"
name: "&cBack to Main Menu"
command: "main_mainopen"
sound: "UI_BUTTON_CLICK"
close-menu: true
lore:
- "&7Return to the main menu."
To open this submenu from another menu item, use:
command: "sub_shop"
Supported Item Options
| Option | Description |
|---|---|
location |
Menu slot position in column,row format |
material |
Bukkit material name |
name |
Item display name with color codes |
command |
Command or EasyMenu special action |
sound |
Sound played when the item is clicked |
close-menu |
Whether the inventory closes after clicking |
lore |
Item lore lines |
custom-model-data |
Custom model data for resource packs |
Special Commands
| Format | Behavior |
|---|---|
/command |
Runs a command as the player |
sub_<name> |
Opens plugins/EasyMenu/sub/<name>.yml |
main_mainopen |
Returns to the main menu |
Configuration Overview
config.yml is used for plugin behavior and performance settings.
language: "en_us"
load-on-startup: true
precache-submenus: true
async:
worker-threads: 2
cache:
submenu-expiry-seconds: 300
submenu-max-size: 100
cleanup-interval-seconds: 60
resolved-path-max-size: 200
submenu:
search-depth: 3
listener-failsafe-seconds: 30
main.yml is used only for the main menu layout.
This separation makes large menu setups easier to manage and reduces the risk of mixing plugin settings with menu definitions.
Language Files
EasyMenu includes language files for:
- English:
en_us.yml - Japanese:
ja_jp.yml - Russian:
ru_ru.yml
You can edit the generated language files in plugins/EasyMenu/lang/ and reload the plugin afterward.
Good For
EasyMenu is useful for:
- server navigation menus
- warp menus
- shop menus
- rule and help menus
- player utility menus
- server selector-style menus
- custom lobby menus
- resource-pack based custom GUI items
Notes for Updating from Older Versions
EasyMenu v5.0.0 uses a cleaner folder and configuration structure.
Older versions used:
plugins/EasyMenuPlugin/config.yml
Newer versions use:
plugins/EasyMenu/config.yml
plugins/EasyMenu/main.yml
Move your main menu definition into main.yml and keep plugin behavior settings in config.yml.
License
This plugin is free to use on Minecraft servers. Redistribution, resale, modified redistribution, or claiming this plugin as your own is not allowed without permission.
Ченджлог
5.0.0Релиз26.1, 26.1.1, 26.1.2 · 25 апреля 2026 г.
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. |
4.1.2Релиз1.21.9, 1.21.10, 1.21.11 · 24 декабря 2025 г.
Ver4.1.2
- Added multi-language support. We encountered an issue generating wikis in /wiki/readme.md and /wiki/wiki.md, so we will distribute settings via Discord: https://discord.gg/7y6kgJ7XZG
- 複数言語対応しました
- /wiki/readme.mdと/wiki/wiki.mdにwikiを生成する予定でしたが失敗したのでDiscordで設定を配布します
- https://discord.gg/7y6kgJ7XZG
4.0.0Бета1.21.9, 1.21.10, 1.21.11 · 24 декабря 2025 г.
changelog
- Implemented significant optimizations in internal processing.
- This version is a beta release.
- Debugging is not yet complete.
- In the next version, we plan to add explanations in Japanese, Russian, and English.
- A website explaining the plugins will also be released soon.
- If you have any features you'd like to see added, please feel free to contact us on Discord.
-内部処理の大幅な最適化を実施 -このバージョンはベータ版です -またデバッグが完了していません -次バージョンでは日本語・ロシア語・英語の説明を追加する予定です -またpluginの解説サイトを近日中に公開予定です -追加してほしい機能があったら気軽にDiscordまで
3.7.0Релиз1.21.6, 1.21.7, 1.21.8 · 11 августа 2025 г.
ただ今プラグインの設定方法を書いたwikiを準備中です それが終わり次第Easymenu 4.0.0を出す可能性もあります また1.21.4以上はテストをしていませんが多分動くと思われます 動かなかった場合はDiscordまでお願いします
3.5.2Релиз1.21.3, 1.21.4, 1.21.5 · 4 мая 2025 г.
警告
2.xと3.xの初期バージョンのconfigと このバージョンは互換性がないため 必ず一度バックアップを取ってから起動してください
Warning!!
2.x and 3.x early versions of config and This version is incompatible with Be sure to back it up once before launching it!
3.5.2Бета1.21.3, 1.21.4, 1.21.5 · 3 мая 2025 г.
これが3.xの最終βです
解説書いたらRelease版を公開します
3.1.0-BETAБета1.21.2, 1.21.3, 1.21.4 · 3 апреля 2025 г.
これはベータ版です This is beta version 設定方法のドキュメントがないため使用はおすすめしません 設定方法のドキュメントが書き終わり次第リリースでも出します
2.2.3Релиз1.21.2, 1.21.3, 1.21.4 · 9 марта 2025 г.
easy menu 2.2.3!!
English
Fixed bugs that were included in 2.1.7.
Also, the notation for location in the config has changed** to X Y.**
You can now also specify lore in the config.
I am planning to implement submenus in the next major update.
I have also confirmed that it works on 1.21.1.
Also, there is an alpha version of ver3, but I will not release it because it has not been debugged.
Japanese
2.1.7に含まれていたバグを修正しました。
またconfigのlocationの表記がX Y に変わりました
またconfigでloreを指定できるようになりました。
次のメジャーアップデートではサブメニューの実装を予定しています。
また1.21.1での動作も確認しました。
またver3のα版はありますがデバッグしていないため公開しません。
Комментарии
Загружаем…