MCPcopy Index your code
hub / github.com/Maxlego08/zMenu

github.com/Maxlego08/zMenu @1.1.1.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.1.1.4 ↗ · + Follow
5,259 symbols 14,956 edges 821 files 1,015 documented · 19%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

zMenu

Modrinth Discord Java Minecraft

zMenu is a powerful Minecraft plugin for creating custom inventory GUIs through YAML configuration files. No coding required for server admins, while developers get a complete API for integration.

showcasepunish optionnal argshop title animation

Features

  • 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
  • Multi-platform - Spigot, Paper, and Folia support
  • 22+ Plugin Hooks - ItemsAdder, Oraxen, LuckPerms, Vault, MythicMobs, and more
  • Bedrock - Bedrock support

Links

Resource Link
Download Modrinth
Documentation docs.groupez.dev
JavaDocs API Reference
Discord discord.groupez.dev
Inventory Builder minecraft-inventory-builder.com

Quick Start

  1. Download zMenu from Modrinth
  2. Place the JAR in your plugins/ folder
  3. Restart your server
  4. Edit files in plugins/zMenu/inventories/
  5. Use /zm reload to apply changes

Example Inventory

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!"

API Usage

Maven

<repository>
    <id>groupez</id>
    <url>https://repo.groupez.dev/releases</url>
</repository>

<dependency>
    <groupId>fr.maxlego08.menu</groupId>
    <artifactId>zmenu-api</artifactId>
    <version>1.1.1.4</version>
    <scope>provided</scope>
</dependency>

Gradle

repositories {
    maven("https://repo.groupez.dev/releases")
}

dependencies {
    compileOnly("fr.maxlego08.menu:zmenu-api:1.1.1.4")
}

Opening an inventory

InventoryManager manager = plugin.getServer().getServicesManager()
    .getRegistration(InventoryManager.class).getProvider();

manager.openInventory(player, "zmenu:example");

Supported Plugins

Click to expand

  • ItemsAdder
  • Oraxen
  • Nexo
  • Nova
  • SlimeFun
  • ExecutableItems
  • ExecutableBlocks
  • HeadDatabase
  • zHead
  • zItems
  • MythicMobs
  • LuckPerms
  • Vault
  • PlaceholderAPI
  • PacketEvents
  • Jobs
  • Shopkeepers
  • MagicCosmetics
  • HMCCosmetics
  • BreweryX
  • CraftEngine
  • Eco

Sponsors

License

This project is licensed under the MIT License.

Extension points exported contracts — how you extend this code

VInvManager (Interface)
Manager interface for Virtual Inventories. Provides methods for creating inventories by type or ID for specific players [6 …
API/src/main/java/fr/maxlego08/menu/api/VInvManager.java
ConfigFieldProcessor (Interface)
Interface for processing specific field types in configuration classes [5 implementers]
Hooks/Paper/src/main/java/fr/maxlego08/menu/config/processors/ConfigFieldProcessor.java
VariantComponent (Interface)
Factory interface for creating variant components. Provides factory methods to create different animal/entity variant co [4 …
Common/src/main/java/fr/maxlego08/menu/common/interfaces/VariantComponent.java
CollectionBiConsumer (Interface)
A functional interface that represents a List of String consumers. It takes two parameters: a {@link Com [1 implementers]
src/main/java/fr/maxlego08/menu/zcore/utils/commands/CollectionBiConsumer.java
Loader (Interface)
Generic loader interface for loading/saving plugin objects out of YAML configuration files. @param Type of object h [20 …
API/src/main/java/fr/maxlego08/menu/api/utils/Loader.java
DialogBuilderBody (Interface)
(no doc) [8 implementers]
Hooks/Paper/src/main/java/fr/maxlego08/menu/hooks/dialogs/loader/builder/DialogBuilderBody.java
VariantItemComponentLoaderFactory (Interface)
Factory interface for platform-specific ItemComponentLoaders for all supported variants. Each method returns a loader fo [3 …
Common/src/main/java/fr/maxlego08/menu/common/factory/VariantItemComponentLoaderFactory.java
ReturnConsumer (Interface)
(no doc) [1 implementers]
src/main/java/fr/maxlego08/menu/zcore/utils/discord/ReturnConsumer.java

Core symbols most depended-on inside this repo

Shape

Method 4,324
Class 819
Interface 75
Enum 41

Languages

Java100%

Modules by API surface

Common/src/main/java/fr/maxlego08/menu/ZMenuItemStack.java120 symbols
Common/src/main/java/fr/maxlego08/menu/common/interfaces/VariantComponent.java93 symbols
Common/src/main/java/fr/maxlego08/menu/itemstack/components/spigot/SpigotVariantComponent.java90 symbols
Hooks/Paper/src/main/java/fr/maxlego08/menu/itemstack/components/paper/PaperVariantComponent.java89 symbols
Common/src/main/java/fr/maxlego08/menu/loader/components/spigot/SpigotVariantItemComponentLoader.java86 symbols
API/src/main/java/fr/maxlego08/menu/api/button/Button.java75 symbols
Hooks/Paper/src/main/java/fr/maxlego08/menu/hooks/dialogs/ZDialogInventory.java68 symbols
API/src/main/java/fr/maxlego08/menu/api/DialogInventory.java63 symbols
src/main/java/fr/maxlego08/menu/ZInventoryManager.java59 symbols
API/src/main/java/fr/maxlego08/menu/api/InventoryManager.java55 symbols
src/main/java/fr/maxlego08/menu/ZInventory.java51 symbols
Hooks/Paper/src/test/java/fr/maxlego08/menu/test/ColorUtilsTest.java51 symbols

For agents

$ claude mcp add zMenu \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page