zMenu is a powerful Minecraft Paper plugin for creating custom inventory GUIs through YAML configuration files. No coding is required for server administrators, while developers get a complete API for integration.
- YAML Configuration - Create menus without coding
- 30+ Item Components - Full support for Minecraft 1.20.5+ item system
- Animated Titles - Dynamic inventory titles (requires PacketEvents)
- Pattern System - Reusable layouts and button templates
- Actions & Requirements - 40+ actions, conditional logic, click handlers
- PlaceholderAPI - Full placeholder support with local overrides
- Paper & Folia - Supports Paper, compatible Paper forks, and Folia; Spigot is not supported
- 26 Optional Hooks - Integrations for plugins such as ItemsAdder, Oraxen, LuckPerms, MythicMobs, and more
- Bedrock - Bedrock support through Geyser/Floodgate
- Java 21 or newer
- Paper 1.19 or newer, a compatible Paper fork, or Folia
- Java 25 for Paper 26.1 and newer
Warning
Since version 1.1.1.6, zMenu is Paper-only and no longer supports Spigot servers.
| Resource | Link |
|---|---|
| Download | Modrinth |
| Documentation | docs.groupez.dev |
| JavaDocs | API Reference |
| Discord | discord.groupez.dev |
| Inventory Builder | minecraft-inventory-builder.com |
- Download zMenu from Modrinth
- Place the JAR in your
plugins/folder - Restart your server
- Edit files in
plugins/zMenu/inventories/ - Use
/zm reloadto apply changes
size: 27
name: "&6My Menu"
items:
example:
slot: 13
item:
material: DIAMOND
name: "&bClick me!"
lore:
- "&7This is an example button"
click_requirement:
left_click:
clicks: [LEFT, SHIFT_LEFT]
success:
- type: message
messages:
- "&aYou clicked the button!"Maven
<project>
<repositories>
<repository>
<id>groupez</id>
<url>https://repo.groupez.dev/releases</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>fr.maxlego08.menu</groupId>
<artifactId>zmenu-api</artifactId>
<version>1.1.1.9</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>Gradle
repositories {
maven("https://repo.groupez.dev/releases")
}
dependencies {
compileOnly("fr.maxlego08.menu:zmenu-api:1.1.1.9")
}Opening an inventory
class Example {
void openExample(Plugin plugin, Player player) {
InventoryManager manager = plugin.getServer().getServicesManager()
.getRegistration(InventoryManager.class).getProvider();
manager.openInventory(player, "zmenu:example");
}
}- Geyser/Floodgate
- BreweryX
- CraftEngine
- Denizen
- Eco
- ExecutableItems
- ExecutableBlocks
- HeadDatabase
- HMCCosmetics
- ItemsAdder
- Jobs
- LuckPerms
- MagicCosmetics
- MMOItems
- MythicMobs
- Nexo
- NextGens
- Nova
- Oraxen
- PacketEvents
- ProtocolSupport
- Shopkeepers
- SlimeFun
- ViaVersion
- zHead
- zItems




