Logo
MINECRAFTBIBLE
Items
Items

All game items

Blocks
Blocks

Building blocks

Mobs
Mobs

Creatures & monsters

Biomes
Biomes

World biomes

Structures
Structures

Generated structures

Recipes
Recipes

Crafting guides

Advancements
Advancements

Achievements

Loot Tables
Loot Tables

Drop rates

Tags
Tags

Item groupings

All Versions
View all data →
Capes
Cape ArchiveNEW

Browse rare Minecon capes, OptiFine capes, and custom capes from players worldwide

Browse

Player Database
Player DatabasePopular

Search any player

Skin Browser
Skin Browser

Browse & download skins

Cape Gallery
Cape GalleryNEW

Minecon & OptiFine capes

Seed Vault
Seed Vault

Curated seeds

Learn

Guides
GuidesNew

Tutorials & tips

Blog
Blog

News & updates

Community

Community Hub
Community HubHub

Posts, discussions & more

All Versions
View community →
Seed Analyzer
Seed Analyzer

World seed analysis

Loot Explorer
Loot Explorer

Drop rates

Crafting Calculator
Crafting Calculator

Material planning

Enchant Calculator
Enchant Calculator

Probability math

Redstone Lab
Redstone Lab

Signal timing

Trading Profit
Trading Profit

Villager ROI

All Versions
View all tools →
Mods
Mods

Browse all mods

Plugins
Plugins

Server plugins

Resource Packs
Resource Packs

Textures & sounds

Shaders
Shaders

Visual enhancements

Datapacks
Datapacks

World logic

Scanner
Mod Intelligence

Scan & analyze any mod

All Versions
View all mods →
Loading...
IntroductionIntroductionVersion HistoryVersion HistoryGuidesGuidesBlog & NewsBlog & News
ItemsItemsBlocksBlocksMobsMobsRecipesRecipesBiomesBiomesStructuresStructuresAdvancementsAdvancementsLoot TablesLoot TablesTagsTags
ModsModsPluginsPluginsResource PacksResource PacksShadersShadersDatapacksDatapacks

MinecraftBible

The Ultimate Wiki

Logo
MINECRAFTBIBLE

The ultimate Minecraft reference. Every item, block, mob, and recipe documented with precision.

Community

  • Skin Browser
  • Cape Gallery
  • Seed Vault
  • Blog
  • Guides

Database

  • Items
  • Blocks
  • Mobs
  • Recipes
  • Biomes
  • Structures

Tools

  • Seed Analyzer
  • Mod Intelligence
  • Crafting Calculator
  • Enchant Calculator

Mods & Packs

  • Mods
  • Plugins
  • Resource Packs
  • Shaders
  • Datapacks

Site & Legal

  • About
  • Authors
  • Editorial Policy
  • Corrections
  • Contact
  • Privacy Policy
  • Terms of Service
  • DMCA
  • Sitemap

© 2026 MinecraftBible. Not affiliated with Mojang or Microsoft.

PrivacyTermsContact
MiaoMenu
PluginGPL-3.0-or-later

MiaoMenu

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

21
Downloads
3
Followers
3 months ago
Updated
📦
1
Versions
bukkitfoliapaperpurpur
Download Latestv2.5View on Modrinth

📖About MiaoMenu

🐱 MiaoMenu — The menu plugin that actually gets it right

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

Bukkit API
Maven
Java
Folia Supported
License: GPL v3


Sound familiar?

Frustrating stuff Other plugins MiaoMenu
Bedrock players can't see menus Need a separate plugin Auto-detected, native support
Every config change means a reload /reload over and over Save the file, you're done — 0.5-second hot-reload
Cross-server menus are a pain Complex setups required BungeeCord / Velocity built in
Players lose the menu item No protection NBT-tagged clock, survives death
Folia breaks everything Console spam Runs 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:

Action Syntax What it does
Run as player [player] spawn The player executes the command
Run as console [cmd] give %player% diamond 1 Console 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] shop Opens 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

Plugin What you get
PlaceholderAPI Full PAPI variable support — player stats, economy, online count, whatever you need
Floodgate / Geyser Automatic Bedrock detection, no extra setup
CraftEngine Use custom items as menu icons
bStats Anonymous 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

Command Description Permission
/dgm open <menu> Opens a menu dgeysermenu.use
/dgm reload Reloads configs (rarely needed) dgeysermenu.reload
/dgm help Shows help dgeysermenu.use
/getmenuclock Gives you a Time Mirror dgeysermenu.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?

MiaoMenu Typical alternative
Java + Bedrock Both, out of the box One or the other
Hot-reload 0.5s, automatic Manual /reload
Menu item Managed automatically Hand it out yourself
Cross-server BungeeCord + Velocity built in Needs another plugin
Folia Native support Errors everywhere
Custom items CraftEngine integration Vanilla materials only
Performance Lightweight Heavy
Price Free, GPL v3 Some 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

👥 Team & Contributors

AMingLi
AMingLiOwner

⚙️ Compatibility

Environment
🖥️ Server-side
Loaders
bukkitfoliapaperpurpur
Minecraft Versions
1.21.81.21.91.21.101.21.1126.1

🔗 Links

Modrinth Page