Tags
Creators
Details
Licensed GPL-3.0-only
Published 2 years ago
Updated last week
All versions
1.1.1.8
Release
zMenu 1.1.1.8last month 2,771
Uploaded by
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Changes
New Features
- Fallback inventories for dialogs on older clients: dialogs can now define a
fallback-inventory(name, optionalplugin, and optionalpage). When a player's client is below Minecraft 1.21.6 and cannot render dialogs, zMenu opens the configured chest inventory instead, or sends a dedicated message when no fallback is available. Client versions are detected through ViaVersion, ProtocolSupport, or Paper's handshake protocol. - Client version API: added
ClientVersionManager,ClientVersionProvider, and protocol-to-Minecraft version mapping to the public API, allowing integrations to query a player's real client version and register additional providers. - Placeholder-aware
take_itemamounts: theamountfield of thetake_item/take-itemaction now accepts placeholders and is resolved for the player when the action runs. It still defaults to1. - UUID targets in placeholder requirements:
target-playercan now resolve to either a player name or a UUID when evaluating a placeholder requirement for another player.
Improvements
- Updated zItems support: migrated the material loader to the latest zItems registry API. zItems is now loaded after zMenu to avoid Paper dependency cycles, while older incompatible zItems APIs fail gracefully instead of breaking inventory loading.
- Dialog management hardening: dialog registries and active-dialog tracking are now thread-safe, the API returns the actual loaded dialog names, and dialog names are removed correctly during reloads.
- Error reporting: exceptions are now routed through the zMenu logger with the plugin prefix and complete cause chain instead of being printed directly to standard error.
Fixes
- Fixed active dialog data not being cleared when a player disconnects, which could leak entries and restore a stale dialog after reconnecting.
- Fixed plugin shutdown throwing an additional
NullPointerExceptionwhen startup failed before the website manager was initialized. - Fixed Minecraft version parsing accepting later numeric fragments after a non-numeric version segment.
Internal Changes
- Added anonymous usage metrics through FastStats, with proper startup and shutdown lifecycle handling.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:XPQ42u1g:9ZzgnrWI"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:XPQ42u1g:9ZzgnrWI"
}

