Skip to content

Releases: Maxlego08/zMenu

Bedrock is now available !

21 May 10:48

Choose a tag to compare

New Features

  • Bedrock Inventory Support: Added full Bedrock inventory support via Geyser/Floodgate integration. Includes Bedrock-specific actions, buttons, input builders (with placeholders support and legacy color code conversion), drag button, inventory replacement, dialog support, and Bedrock player validation.
  • Inventory Replacement: Implemented inventory replacement functionality, allowing inventories to be dynamically replaced across various classes.
  • ItemStack Build Context: Added ItemStack support to build context and updated durability handling in menu item stack.
  • PaperProfileComponent: Added new PaperProfileComponent for Paper-specific profile handling.

Bug Fixes

  • Clear Inventory + BACK Button: Fixed items being restored to the player when clicking a BACK button between two inventories with clear-inventory: true and clear-inventory-type: PACKET_EVENT. Items are now physically cleared from the player inventory during storage, ensuring container content packets don't reveal hidden items. The close handler also uses physical restoration (giveInventory) instead of packet-based restoration.
  • Item Pickup with Clear Inventory: Fixed items being picked up by the player when clear-inventory is enabled.
  • Lore Metadata Duplication: Fixed "lore" metadata duplication when loading items.
  • Color Handling: Fixed and simplified color handling for leather armor and banner patterns in MenuItemStackLoader.
  • NPE Fix: Fixed null pointer exception.
  • Import Fix: Fixed import for ZBuildContext in ItemEditAction.
  • API Errors: Fixed errors and updated API version.

Improvements

  • Requirement Configuration Validation: Added validation for click-requirement, view-requirement, and open-requirement configurations. Detects common misconfiguration where users place requirement keys directly under the requirement section instead of using named groups (for click-requirement) or a requirements list (for view/open-requirement). Displays a clear warning message with an example of the correct structure and a link to the documentation.
  • Inventory Lookup Optimization: Optimized inventory lookup with a map cache for better performance.
  • CraftEngine Compatibility: Updated compatibility with the latest version of CraftEngine.
  • Color Parsing: Added color parsing support.

Changes

  • Time Placeholders: Changed time_unix_timestamp, time_next_day_unix_timestamp, and time_today_start_unix_timestamp placeholders to return values in seconds instead of milliseconds.

Internal Changes

  • Standardized method parameter annotations to use @NonNull across action and button classes.
  • Standardized this keyword usage in method return statements for clarity.
  • Streamlined item stack creation by consolidating special item stack application.
  • Enhanced click handling in Button class and simplified click requirement configuration.
  • Updated Nexo dependency version.
  • Updated Gradle repositories URL for Floodgate.
  • Removed unused library files (FirstCore.jar, zEssentials.jar, zMenu-1.1.0.0.jar).
  • Removed debug messages.

DeluxeMenus Support !

27 Sep 16:17

Choose a tag to compare

  • Added support for DeluxeMenus configurations. You no longer need to convert your DeluxeMenu configurations to zMenu, they are now automatically compatible!
  • Added command /zm documentation []
  • Added key title for inventory name, you can use name or title now
  • Fixed itemstack with 1.21, components was added when it should not be added by default.
  • Fixed the item backup system for potions and firework (use in /zm save command and in zEssentials)

Bug fix + translated inventory !

14 Jul 12:21

Choose a tag to compare

  • Fix nullable player in MenuItemStack
  • Add performMainAction for commands, allows to activate or not the main actions of the command. This allows you to
    create commands with arguments without opening an inventory for example. #89
  • Add the possibility to have several languages for the lore and name of items and inventory name. Depending on the player’s game language
    you can set other messages and make your server international
  • Remove eco from plugin.yml, this caused problems loading various plugins
  • Tab completes for more of the sub commands #75

Better commands and download !

10 Apr 17:19

Choose a tag to compare

  • Create new placeholder %zmenu_player_next_page%, return player next page
  • Create new placeholder %zmenu_player_previous_page%, return player previous page
  • Create new requirement: playername, Check if a text is a player nickname
  • Fixed the display of a button with a playerHead if the text is not a playerHead. This avoids server lag when opening inventory.
  • Fixed Numbers saved in PlayerData are not Numbers after a restart. #59
  • Added Placeholder in head url #58
  • Added Action - Data placeholder #56
  • Expand player data commands with add & subtract #46
  • New features for Commands (Perform action and Auto-completion) #26
  • You can now open a book
  • Create /zm download <link> command. You can download configuration files from links, discord links for example.

Button Patterns

27 Mar 09:46

Choose a tag to compare

  • Added support for zHead. A free and open source head database plugin (with more than 72.000 heads)
  • Create new placeholder %zmenu_player_page%, return player page
  • Create new placeholder %zmenu_player_max_page%&, return player max page
  • Change NEXT and PREVIOUS button. If you click right you will go directly to the first or last page.
  • Improve MiniMessage format with italic text
  • Create new file: default_values.yml, it will contain all the default values for the placeholders of the player data.
  • Create pattern for Button. You can create a pattern file for a button with placeholders. And in your inventory, just call the pattern with a placeholder list. The placeholders will be replaced by your values and the button will be loaded with the new values. Thus, you can have dozens of similar buttons while reducing your configurations by several hundred lines. More information here.
  • Creation of 5 configurations for zMenu:
  1. PLAYTIME LEVELS - zMenu Configurations: https://minecraft-inventory-builder.com/resources/9
  2. VOTE MENU - zMenu Configurations: https://minecraft-inventory-builder.com/resources/8
  3. DONUTSMP HOME - zMenu Configurations: https://minecraft-inventory-builder.com/resources/7
  4. zAuctionHouse - Hypixel AuctionHouse: https://minecraft-inventory-builder.com/resources/6
  5. zAuctionHouse - DonutSMP AuctionHouse: https://minecraft-inventory-builder.com/resources/5

Inventory Editor Ingame !

16 Mar 11:47

Choose a tag to compare

  • Add /zm inventories - Allows access to the inventories of the online inventory editor
  • Add PlayerInteractEvent in DupeListener
  • Fix classic meta with PAPI color
  • Fix NPE with ButtonOption

API Change

04 Mar 14:26

Choose a tag to compare

  • Start of development of the zMenu+ paid addon. This addon will be available with the purchase of Premium upgrade.
  • Huge API Change. This change introduces zMenu+
  • Create ButtonOption, allows any developer to add options that will be available for all types of buttons.
  • Create PaginateButton interface. This interface allows you to create buttons that need pagination. This interface will manage the number of pages in the inventory.
  • Add matrix support for button slots #39
  • Add /zm editor, at the moment this command redirects to the online editor
  • Add target placeholder #48
  • Fix reload command with pattern. The pattern were reload after the inventories
  • Fix error with InventoryPlayer
  • Fix NmsVersion with 1.8 and 1.9
  • Fix anti-dupe for old version
  • Fix MenuItemStack loader with placeholder check
  • Fix CONTAINS_STRING action for placeholder
  • Fix NMS with 1.20.4
  • Fix method getRealSlot with isPermanent

Yeah, that nice (i dont have any idea for update name plz help)

23 Feb 13:14

Choose a tag to compare

  • Add BlockPlaceEvent for Anti Dupe
  • Add placeholder %zmenu_test% for testing
  • Fix sound action, pitch and volume was reversed
  • Add job requirement. Check if the player has a job with JobsReborn plugins
  • Added a cache on placeholders. By default, the cache is 500ms. That corresponds to opening a menu. So if you have several times the same placeholder used, it will only be called once.

First beta for Inventory Editor

13 Feb 17:44

Choose a tag to compare

  • Beta of https://minecraft-inventory-builder.com/
  • Add new lore as string support
  • Fix itemstack amount of 0
  • Support file with space
  • Improved API, added many new methods to make API more permissive.
  • Patterns can now be on multiple pages
  • Add custom sound to SoundOption
  • Added ability to add arguments and select page for INVENTORY button #45
  • Change update interval to milliseconds #37

Yeah, bug fix and new features

04 Feb 12:48

Choose a tag to compare

  • Added replacement of , by . for placeholders requirements. If your placeholder returns a number with a comma instead of a period, the plugin can handle that.
  • Added base64 MaterialLoader. Allows to load ItemStack with all the data it can contain.
  • Added cooldown on button click. The default cooldown will be 350ms.
  • Fix Folia with VersionChecker #35
  • Fix error with mini message format in 1.16
  • Fix JUMP Button
  • Change /zm save <item name> <base64/yml>, saves an element in YML or base64 format. The base64 format will save the itemStack with all its data.
  • Change page from JUMP Button to toPage