Skip to content

chore: bump fr.maxlego08.menu:zmenu-api from 1.1.1.4 to 1.1.1.5#269

Merged
ptthanh02 merged 1 commit into
mainfrom
dependabot/gradle/fr.maxlego08.menu-zmenu-api-1.1.1.5
Jun 18, 2026
Merged

chore: bump fr.maxlego08.menu:zmenu-api from 1.1.1.4 to 1.1.1.5#269
ptthanh02 merged 1 commit into
mainfrom
dependabot/gradle/fr.maxlego08.menu-zmenu-api-1.1.1.5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 17, 2026

Copy link
Copy Markdown
Contributor

Bumps fr.maxlego08.menu:zmenu-api from 1.1.1.4 to 1.1.1.5.

Changelog

Sourced from fr.maxlego08.menu:zmenu-api's changelog.

1.1.1.5

New Features

  • Player Inventory Placeholders: Added %zmenu_player_empty_slots% to get the number of free slots in the player's inventory, and %zmenu_player_item_count_<MATERIAL>% to count the total amount of a specific item. These placeholders work even when the bottom inventory is hidden with clear-inventory: true, allowing shop menus to check if the player has enough space before purchasing.
  • Custom Commands: Add a new field actions-requirements for custom commands, allowing you to specify requirements that must be met for the command's actions to execute. This provides more control over argument conditions and enhances command functionality.
  • Anvil Inventory Support: Added a new ANVIL inventory type, with rename-requirements to validate the text entered by the player before running the rename actions. Inventory types are now resolved through a dedicated InventoryType registry (currently ANVIL and CHEST), making it easier to add new container types in the future.
  • Item Rules System: Added a flexible item-matching system configurable through a rule section. Built-in rule types: material, material-contains, material-prefix, material-suffix, name, lore, tag, custom-model-data, and the and / or composites to combine several rules. Plugin-specific item rules (match by item id, supporting wildcards and ignore-case) are available for CraftEngine, Denizen, Eco, ExecutableBlocks, ExecutableItems, HeadDatabase, ItemsAdder, MMOItems, Nexo, NextGens, Nova, Oraxen and SlimeFun. The item_drag button now accepts a rule section to validate which items a player is allowed to drop.
  • New Action set_item (set_item / set-item): place an item in one or several inventory slots (menu or player inventory via in-player-inventory: true), with dupe-protection enabled by default.
  • New Action take_item (take_item / take-item): remove a configurable amount of matching items from the player's inventory, with verification: SIMILAR (default) or MODELID to control how items are matched.
  • New Action refresh_slot (refresh_slot / refresh-slot): refresh only the given slots (menu or player inventory) without rebuilding the whole inventory.
  • Check Inventory Requirement (check-inventory permissible): verify that a given slot contains a specific item (or that the player owns it), with success and deny actions and a configurable comparison type.
  • Denizen Support: Added a new hook for Denizen, allowing Denizen items to be matched through the item rules system (denizen rule type).

Bug Fixes

  • Clear Inventory Session Items: Fixed a bug where items given to the player during a menu session (e.g., via shop purchase actions) were lost when closing a menu with clear-inventory: true. Session items are now collected before restoring the original inventory and properly restored afterward.

  • ItemGiveAction Inventory Update: Added player.updateInventory() after giving items via the give_item action, ensuring the client inventory display updates immediately.

  • Inventory Desync on Item Give: Fixed ItemGiveAction not calling player.updateInventory() after adding items, causing a visual desynchronization where the player's hotbar/inventory wouldn't visually update until the next interaction.

  • Multi Dialogs number-of-columns: Fixed multi-action dialogs not supporting the number-of-columns option.

  • Nexo Glyphs in Items: Fixed Nexo glyphs not working inside items. Add skip-first-cache: true to the item configuration to use them.

  • Animation Listener: Fixed an issue with PacketAnimationListener (#245).

Internal Changes

  • New Minecraft version detection system MinecraftVersion over old NMSVersion enum, allowing more flexible version checks and better support for future Minecraft versions without needing to update the plugin.
  • New utils annotations
    • @SinceVersion | These annotations can be used to mark classes that should only be loaded for specific Minecraft versions, check in the VersionFilter class for more details.
    • @UntilVersion | These annotations can be used to mark classes that should only be loaded for specific Minecraft versions, check in the VersionFilter class for more details.
    • @PaperOnly | These annotations can be used to mark classes that should only be loaded if the server is a Paper version, check in the VersionFilter class for more details.
    • @SpigotOnly | These annotations can be used to mark classes that should only be loaded if the server is a spigot version, check in the VersionFilter class for more details.
    • @AutoComponentLoader (renamed from @ComponentLoader) | Allow to load dynamically all items component loader without having to register them one by one in the ZComponentManager class for "fr.maxlego08.zmenu" package, filtering by version and server type with the new annotations by the helper of VersionFilter class.
    • @AutoListener | Allow to load dynamically all listeners who take a MenuPlugin in their constructor or no-arg constructor without having to register them one by one in the ZListenerManager class for "fr.maxlego08.zmenu" package, filtering by version and server type with the new annotations by the helper of VersionFilter class.
    • @AutoActionLoader | Allow to load dynamically all action loaders without having to register them one by one, filtering by version and server type via the VersionFilter class.
    • @AutoMaterialLoader | Allow to load dynamically all material loaders without having to register them one by one, filtering by version and server type via the VersionFilter class.
    • @AutoPermissibleLoader | Allow to load dynamically all permissible (requirement) loaders without having to register them one by one, filtering by version and server type via the VersionFilter class.
    • @AutoRuleLoader | Allow to load dynamically all item rule loaders without having to register them one by one in the ZRuleLoaderRegistry, filtering by version and server type via the VersionFilter class.
    • @RequiresPlugin | Mark a class so it is only loaded when a given plugin is present. Now supports a version and a type (Comparison) to only load the class when the plugin version comparison is true, plus a checkMode (EXISTS / EXISTS_AND_ENABLED) to choose between "plugin installed" and "plugin installed and enabled".
  • All action, component, listener, material, permissible and rule loaders are now discovered and registered automatically at startup through ClassRegistry and the annotations above, instead of being registered one by one.
  • ClassRegistry now logs constructor instantiation failures, making it easier to diagnose why a loader did not register.
  • New dedicated NMS modules (NMS/Base, NMS/v1_20_R3, NMS/v1_20_R4, NMS/v1_21_R1) with a versioned NMSHandler abstraction.
  • New item packet management classes: NMSMenuPacketListener, PacketQueue and ForceChannelPromise.
  • New item components: AttackRange and MaxStackSize (with Spigot and Paper implementations); entity variant loaders refactored onto shared base classes (CollarColor, DyeColor, Enum, Registry variant loaders).
  • Standardized string casing using Locale.ROOT across all classes for consistent, locale-independent behavior.
  • Migrated the build to a Gradle version catalog (gradle/libs.versions.toml).
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [fr.maxlego08.menu:zmenu-api](https://github.com/MaxLego08/zMenu) from 1.1.1.4 to 1.1.1.5.
- [Release notes](https://github.com/MaxLego08/zMenu/releases)
- [Changelog](https://github.com/Maxlego08/zMenu/blob/main/changelog.md)
- [Commits](https://github.com/MaxLego08/zMenu/commits)

---
updated-dependencies:
- dependency-name: fr.maxlego08.menu:zmenu-api
  dependency-version: 1.1.1.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Jun 17, 2026
@ptthanh02 ptthanh02 merged commit 6eb3bf3 into main Jun 18, 2026
1 check passed
@dependabot dependabot Bot deleted the dependabot/gradle/fr.maxlego08.menu-zmenu-api-1.1.1.5 branch June 18, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant