▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
MiaoMenu

MiaoMenu

The optimal menu solution for multi-environments (probably lol)

Оцените первым
91
2

🐱 MiaoMenu — The menu plugin that actually gets it right

Do what suits you best, make the difficult simple. That's the idea.


Sound familiar?

Frustrating stuffOther pluginsMiaoMenu
Bedrock players can't see menusNeed a separate pluginAuto-detected, native support
Every config change means a reload/reload over and overSave the file, you're done — 0.5-second hot-reload
Cross-server menus are a painComplex setups requiredBungeeCord / Velocity built in
Players lose the menu itemNo protectionNBT-tagged clock, survives death
Folia breaks everythingConsole spamRuns natively on Folia

What it does

🎯 One config, both editions

MiaoMenu checks whether a player is on Java or Bedrock and serves the right UI automatically:

  • Java players get the classic chest inventory (1–6 rows, up to 54 slots)
  • Bedrock players get a native form UI designed for touch screens(need Floodgate)

You write the menu logic once. The plugin handles the rest.

Preview Preview

⚡ Hot-reload that actually works

Powered by Java's WatchService with a 0.5-second debounce. Edit a YAML file, hit save — the changes go live immediately. No commands needed.

(There's still a /dgm reload command if you prefer doing things manually. Moreover, tested with over 10 reloads, no memory leaks detected.)

🕰️ The Time Mirror (menu clock)

Every player receives a clock item tagged with NBT data:

  • Checked on login — if it's missing from their inventory, it gets replaced automatically. No duplicates.
  • Protected on death — the clock never drops, and it reappears after respawn.
  • Right-click to open the default menu instantly.
  • Uniquely identified via NBT, so it won't clash with other items.

🔗 Cross-server teleportation

Built-in support for BungeeCord and Velocity proxy setups. The plugin detects which one you're running and configures itself.

# config.yml — one line to enable
settings:
  velocity-network: true

Pair it with a server-selector menu and players can hop between servers in one click:

# server-selector.yml
survival:
  slot: 12
  material: DIAMOND_SWORD
  display_name: "&c&lSurvival"
  left_click_commands:
    - "[player] server survival"
    - "[message] &aConnecting to survival..."
    - "[close]"

🎨 Flexible menu configuration

Java Edition — straightforward YAML:

menu_title: "&6&lMain Menu &7| &fServer Name"
rows: 6

items:
  server_info:
    slot: 10
    material: KNOWLEDGE_BOOK
    display_name: "&e&lServer Info"
    lore:
      - "&7Click to view server information"
      - "&fOnline: &a%server_online%&f/&a%server_max_players%"
    left_click_commands:
      - "[message] &6=== Server Info ==="
      - "[player] list"
      - "[close]"

Bedrock Edition — native forms:

menu:
  title: "§6§lMain Menu"
  items:
    - text: "§e§lServer Info\n§7Click for details"
      icon: "textures/items/book_enchanted"
      icon_type: "path"
      command: "dgeysermenu open info"
      execute_as: "player"

🛠 Action system

Five built-in action types cover the usual interactions:

ActionSyntaxWhat it does
Run as player[player] spawnThe player executes the command
Run as console[cmd] give %player% diamond 1Console executes the command
Send a message[message] &aWelcome back!Sends chat text to the player
Close the menu[close]Closes the current menu
Open another menu[menu] shopOpens a different menu (nesting supported)

You can bind separate actions to left-click and right-click:

left_click_commands:
  - "[player] spawn"
right_click_commands:
  - "[close]"

🧩 Plugin integrations

PluginWhat you get
PlaceholderAPIFull PAPI variable support — player stats, economy, online count, whatever you need
Floodgate / GeyserAutomatic Bedrock detection, no extra setup
CraftEngineUse custom items as menu icons
bStatsAnonymous usage metrics, bundled in

🎵 Menu sounds

Pick any Minecraft sound to play when a menu opens:

settings:
  open-menu-sound:
    enabled: true
    sound: "entity.experience_orb.pickup"
    volume: 1.0
    pitch: 1.0

🍃 Lightweight & Folia-ready

  • Minimal footprint — core features only, no bloat.
  • Detects Folia at startup and switches to the correct scheduler automatically.
  • Built on Paper 1.21.8+ API.

Getting started

Installation

  1. Drop the JAR into your server's plugins folder.
  2. Restart the server.
  3. Open plugins/MiaoMenu/ — sample menus are generated automatically.
  4. Edit configs to match your server; changes apply on save.

Commands

CommandDescriptionPermission
/dgm open <menu>Opens a menudgeysermenu.use
/dgm reloadReloads configs (rarely needed)dgeysermenu.reload
/dgm helpShows helpdgeysermenu.use
/getmenuclockGives you a Time Mirrordgeysermenu.admin

Every command has Tab completion — no need to type the whole thing out.

Permissions

dgeysermenu.use      # Basic access (everyone by default)
dgeysermenu.admin    # Admin tools (OP by default)
dgeysermenu.reload   # Reload command (OP by default)
dgeysermenu.menu.*   # Per-menu access control

File layout

MiaoMenu/
├── java_menus/              # Java Edition menus
│   ├── test.yml             # Sample main menu
│   └── server-selector.yml  # Server selector
├── bedrock_menus/           # Bedrock Edition menus
│   └── test.yml             # Sample main menu
└── config.yml               # Plugin settings

Preview


Going further

PlaceholderAPI variables

items:
  player_stats:
    slot: 22
    material: PLAYER_HEAD
    display_name: "&b%player_name%"
    lore:
      - "&fLevel: &e%player_level%"
      - "&fBalance: &6%vault_eco_balance%"
      - "&fPlaytime: &b%player_time_hours% hours"

Nested menus

left_click_commands:
  - "[menu] shop"
  - "[message] &2Welcome to the shop!"

CraftEngine custom items

# config.yml
settings:
  craftengine:
    enabled: true
    fallback-material: STONE
# In a menu file
items:
  custom_sword:
    material: "my_pack:custom_sword"
    display_name: "&d&lLegendary Sword"

Why MiaoMenu?

MiaoMenuTypical alternative
Java + BedrockBoth, out of the boxOne or the other
Hot-reload0.5s, automaticManual /reload
Menu itemManaged automaticallyHand it out yourself
Cross-serverBungeeCord + Velocity built inNeeds another plugin
FoliaNative supportErrors everywhere
Custom itemsCraftEngine integrationVanilla materials only
PerformanceLightweightHeavy
PriceFree, GPL v3Some are paid

Preview Preview

Try it now

/dgm open test          # Open the sample menu
/getmenuclock           # Get a Time Mirror
/dgm help               # See what's available

Java + Bedrock. No reload headaches. Five minutes to set up.


If MiaoMenu saves you some time, a ⭐ on GitHub goes a long way.

GPL v3 · by MingLi

Партнёрский материал

Сервер для плагина MiaoMenu - как у профи

Плагин MiaoMenu создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином MiaoMenu для друзей можно за пару минут - BungeeHost всё уже подготовил.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.1.x1.21.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки

Создатели

Детали

Лицензия:
Опубликован:7 месяцев назад
Обновлён:7 месяцев назад
Главная