zMenu - Ultra complete menu plugin icon

zMenu - Ultra complete menu plugin -----

Our goal: Dethrone DeluxeMenu




  • Added inventory type #97
  • Added placeholder priority #96
  • Added the possibility to include a prefix for lists when using a pattern. You need to add text in front of your placeholder
  • Modified the money permissible to support more economies using CurrenciesAPI
  • Modified the deposit and withdraw action to support more economies using CurrenciesAPI
  • Added deny-message for commands. Allows to send a custom error message if the player does not have permission.
  • Fixed the max page placeholder that says 0, it will now say 1 by default
----------, Dec 16, 2024

  • Added the ability to use font ItemsAdder with format :font-name:
  • Improve TypedMapAccessor
  • Added API method InventoryManager#openInventoryWithOldInventories
  • Added API method ZButton#paginate
  • Added action set permission, allows setting a permission to a player with luckperms
  • Added aliases command and commands for console command action.
  • Fixed max-stack-size for itemstack with 1.21
----------, Nov 12, 2024

  • 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 [<word>]
  • 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)
----------, Sep 27, 2024

Fix jar !
----------, Aug 22, 2024

Fix version for 1.20 and below (spigot api change omg)
----------, Aug 21, 2024

  • Add support for \n in item lore
  • Add refresh_requirement, allows refreshing the lore, name of the item or the button in its entirety according to several conditions.
  • Add permissions on default commands
  • Add PlaceholderAction: DIFFERENT_STRING, check that a string is different from the value
  • Add sub commands for commands. You can now have sub commands to perform actions, for example, create a /votes party command, a /votes info command !
  • Added aliases for enchantments, this allows using the word protection to obtain the PROTECTION_ENVIRONMENTAL enchantment
  • Deprecated method onInventoryOpen(Player, InventoryDefault) use now onInventoryOpen(Player, InventoryDefault, Placeholders)
  • Fixed items flags (HIDE_ATTRIBUTES) for 1.20.4 and above
  • Added zItems support, Example: material: "zitem:<item name>", zItems is an item that allows you to create items taking advantage of all the features of 1.21
Only for version 1.21 and above
  • Added max-stack-size: <number>, Overrides the default maximum stack size of this item.
  • Added max-damage: <number>, Controls the maximum amount of damage an item can take.
  • Added damage: <number>, The absolute amount of damage or use this item has taken.
  • Added repair-cost: <number>, Number of enchantment levels to add to the base level cost when repairing, combining, or renaming this item with an Anvil.
  • Added unbreakable: <true/fasle>, Tools, armor and weapons set with this won't lose durability when used.
  • Added unbreakable-show-in-tooltip: <true/fasle>, If false, an 'Unbreakable' line will not be included in the tooltip. Default is True.
  • Added fire-resistant: <true/fasle>, If true, this item will not burn in fire.
  • Added hide-tooltip: <true/fasle>, If present, it will completely hide whole item tooltip (that includes item name). The tooltip will be still visible and searchable in creative mode.
  • Added hide-additional-tooltip: <true/fasle>, If true, disables 'additional' tooltip part which comes from the item type.
  • Added enchantment-glint: <true/fasle>, If true, the item will glint, even without enchantments; if false, the item will not glint, even with enchantments. If null, the override will be cleared.
  • Added enchantment-show-in-tooltip: <true/fasle>, If false, no enchantments will be shown in the item tooltip. Default is true.
  • Added attribute-show-in-tooltip: <true/fasle>, If false. The attributes will not show on the item tooltip. Default is true.
  • Added item-rarity: <COMMON/UNCOMMON,RARE,EPIC>, Determines the default color of its name. This enum is ordered from least rare to most rare.
  • Added trim: <trim configuration>, Represents an armor trim that may be applied to an item.
----------, Aug 21, 2024

  • Fix commands element
  • Fix get player locale
----------, Jul 18, 2024

  • 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
----------, Jul 14, 2024

  • Create action actionbar, allows to send a message in the action bar of the player
  • Add placeholder %zmenu_player_is_expired_<key>% Check if a key has expired, if the key does not exist it will be considered expired
  • Add updateMasterButton, allows to update the button entirely during the update. You have update enabled
  • Add requirement permissible money, allows you to check if the player has enough money by using the Vault API
  • Add action withdraw and deposit, allows to withdraw and add money to the player’s account using the Vault API
  • Fix folia (omg folia wtf)
  • Fix refresh action
  • Fix placeholder API cache, its disable by default
  • Add support for 1.20.6 (There has been a big change on how to encode and decode itemstacks in base64, the old values will no longer work)
----------, Jun 7, 2024

  • Fix folia commands and data manager #63
  • Fix actions for command with delay
  • Fix MenuItemStack with AIR material
  • Fix color with messages in button
  • Fixed saving enchantments with /zm save
  • Change Item Permission to check in all inventory instead of just the player's hand
  • Create new Button for zMenu+ INPUT, allows you to choose a number or a text in the chat and perform actions
  • You can choose the pattern plugin for the button with pluginName
  • Fix MenuItemStackLoader for save model id
----------, May 6, 2024

  • 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.
----------, Apr 10, 2024

  • 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
----------, Mar 27, 2024

  • Add /zm inventories - Allows access to the inventories of the online inventory editor
[​IMG]
  • Add PlayerInteractEvent in DupeListener
  • Fix classic meta with PAPI color
  • Fix NPE with ButtonOption
----------, Mar 16, 2024

  • 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
----------, Mar 4, 2024

Fix jar
----------, Feb 23, 2024

  • 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.
----------, Feb 23, 2024

  • 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
----------, Feb 13, 2024

- Introduction of the zMenu website: https://minecraft-inventory-builder.com/
- 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
----------, Feb 4, 2024

  • Fixed the pattern display, they will now appear first and let the more important buttons pass over
  • Fixed MenuItemStack build method, add boolean for use cache or not
  • Fixed PAPI use if player is null
  • Create new button type: JUMP #34
----------, Jan 25, 2024

  • Added open menu with item interaction #29 by EnzoShoes
  • Added /zm giveopenitem <inventory> [<player>]
[​IMG]
----------, Jan 6, 2024

  • Added the ability to perform actions when clicking. For simple actions you no longer need to use a click_requirements.
  • Added ShopKeeper support for action. #27
  • Added deny and success action for each requirement. In addition to its global actions, you can add them for each requirement. Perfect to set the error message for the player.
  • When creating ItemStacks, the plugin will no longer use PlaceholderAPI if the item contains no placeholders.
  • Added cache system for ItemStack. If ItemStack does not use placeholder API, then it will be created once and cached. All inventories will therefore use the same ItemStack. This allows to improve performance (from a few thousand nano seconds per item, so if you have a lot of items in your inventory the gain can be very important).
  • Fixed command /zm open. The opening arguments were only taken into account if the command had more than 5 arguments instead of starting from 5.
  • Fixed command /zm reload with commands.
----------, Dec 27, 2023

- Added ANY and ALL support for click requirements #24
- Added a check when displaying the item to prevent that if the slot is outside the slots this triggers an error but just a message in the console
- Fix error with 1.20.4
- Fix error with Meta
- Fix error with slot page and else button
- Fix checkPermission with view requirement who made it check placeholders and permissions impossible
----------, Dec 24, 2023

  • Added back type for action requirements
  • Improved ItemStackLoader. This class is used for converting inventories from GuiPlus.
  • Fixed loaded messages
----------, Dec 13, 2023

  • Add command /zmenu save <name>. Allows to save the item in your hand in format for plugin configuration.
  • Add material loader for eco #19
  • Set enableAntiDupeDiscordNotification to false by default
  • Fix ItemStackCompound
  • Fix PDC dupe, replace BOOLEAN by INT
----------, Dec 3, 2023

material: POTION
durability: 16454
----------, Nov 21, 2023

  • Start of the translation of the plugin documentation in French. If you want to translate zMenu documentation into your language, please contact me.
  • You can use multiple placeholders now, do like this:
Code (YAML):

placeholders
:
- placeholder
: <your placeholder>
  value
: <your value>
  action
: <your action>
- placeholder
: <your placeholder>
  value
: <your value>
  action
: <your action >
Be careful, you must put an s to placeholder, otherwise it will not work.
  • You can use now the text placeholder instanceof placeHolder
  • Start new way to configure the plugin, you have now requirement and actions:
A requirement consists of a permission list to check (placeholder, permission, regex and item), an action list on success and an action list on deny.
You have 12 actions available:
  1. broadcast
  2. broadcast_sound
  3. close
  4. connect
  5. console_command
  6. data
  7. inventory
  8. message
  9. chat
  10. player_command
  11. sound
  12. refresh
Example for view_requirement:
Code (YAML):

view_requirement
:
deny
:
  - type
: chat
    messages
:
 - "msg Maxlego08 test"
success
:
  - type
: sound
    sound
: ENTITY_PLAYER_LEVELUP
    requirements
:
  - type
: permission
    permission
: "admin.use"
  - type
: permission
    permission
: "use.pro.config"
  - type
: placeholder
    placeholder
: "%player_gamemode%"
    value
: "CREATIVE"
    action
: equals_string
  - type
: placeholder
    placeholder
: "%player_is_flying%"
    value
: "yes"
    action
: equals_string
 
Example for open_requirement:
Code (YAML):

open_requirement
:
requirements
:
  - type
: regex
    input
: "%player_item_in_hand%"
    regex
: "(NETHERITE_|DIAMOND_|IRON_|GOLDEN_|STONE_|WOODEN_|LEATHER_|BOW|CROSSBOW|FISHING_ROD|SHEARS|SHIELD|TRIDENT|TURTLE_HELMET|ELYTRA|FLINT_AND_STEEL)"
deny
:
  - type
: message
    messages
:
   - "&cYou doesn't have an item in your hand."
 
Example for click_requirement:
Code (YAML):

click_requirement
:
left_click
:
clicks
:
 - LEFT
  - SHIFT_LEFT
requirements
:
  - type
: placeholder
    placeholder
: "%player_gamemode%"
    value
: "CREATIVE"
    action
: equals_string
deny
:
  - type
: inventory
    inventory
: "example"
    plugin
: "zMenu"
success
:
  - type
: message
    messages
:
   - "well <red>done <green>you did it"
 
More information on the plugin documentation: https://docs.zmenu.dev/
  • Add alias for placeholder action:
  1. BOOLEAN: `b=`
  2. EQUALS_STRING: `s=`
  3. EQUALSIGNORECASE_STRING: `s==`
  4. CONTAINS_STRING: `sc`
  5. EQUAL_TO: `==`
  6. SUPERIOR: `>`
  7. SUPERIOR_OR_EQUAL: `>=`
  8. LOWER: `<`
  9. LOWER_OR_EQUAL: <`=`
  • Enable version checker
  • Improve javadocs
  • Remove example.yml, example2.yml and example3.yml in inventories folder
  • Remove example.yml in commands folder
  • Rename pattern1.yml to pattern_example.yml
  • Edit commands.yml file with new default config
  • Add pro_inventory.yml in inventory folder
  • Fix component for inventory name
  • Add cache system for ComponentMeta (optimizes code and makes it more efficient)
----------, Nov 17, 2023

- Fix button load if type doesn't exist
- Add onBackClick in Button, is called when a player will click a BACK button just before performing his action.
- Add method setMaxPage in InventoryDefault class
- Add event cancel before use the button. It is now possible to activate the click of items in the inventory from the api
----------, Nov 7, 2023

- Inventory can load with error in button
- Fix commands register and unregister. The commands are now saved in the plugin that will load the command.
- Fix Firework meta for firework rocket
- Improve documentation: #15
----------, Nov 4, 2023

  • Added DefaultButtonValue in Button, Change the default values of the buttons if they are not present in the configuration. To avoid, for example, having to redefine the slot for elses buttons or not having to set isPermanent: true for NEXT or PREVIOUS type buttons
  • Added advanced_inventory.yml in default config file
  • Fix /zm reload with patterns
  • Previous and Next button are now permanent button by default
  • Else button doesnt need to set slot and page
  • Fix error with 1.20.2 (PlayerSkin#getFromPlayer)
----------, Nov 2, 2023

- Add /zm list command. View the list of available inventories.
- Add /zm create <file name> <inventory size> <inventory name> command
- Add action, closeInventory (more information here)
- Add new default inventory, basic_inventory. An inventory with lots of explanation for beginners.
- Fix ComponentMeta with old color tag
- Disable double click on inventory click, this will trigger button actions 3 times.
----------, Oct 30, 2023

  • Add playerCommands as an aliases for commands
  • Add FastEvent interface, allows you to listen to plugin events without going through the Bukkit API, performance gain
  • Add InventoryLoadEvent event, Event called when an inventory is loaded
  • Add ButtonLoadEvent event, Event called when a button is loaded
  • Add PlayerOpenInventoryEvent event, Event called when a player opens an inventory
  • Removed the requirement to have another button for the NEXT and PREVIOUS button
  • Removed registerButtonListener
  • Fix /zm open argument, you can now set argument like that: /zm open zmenu:example_punish Maxlego08 false target:Maxlego09 reason:"this is a really long reason"
  • Fix Leather color material case
  • Fix GameProfile with null name
  • Rename ButtonLoadEvent to ButtonLoaderRegisterEvent
----------, Oct 21, 2023

Start development of the zShop V3 plugin using the zMenu API:

- Change: Allow inventories without items
- Add %player% with papi utils
- Add getter for MetaUpdater in InventoryManager
- Add method getCurrentPlayerInventory in InventoryManager
- Add method buildDisplayName in Button
- Add method buildLore in Button
- Add updateOnClick option, update button if player click on another button
- Add button listener method in InventoryManager
- Add check for new messages value saving
- Fix placeholder verification
- Fix patterns interactions
- Fix itemstack amount with custom material
- Fix item lore with lore is empty
- Fix message translation for hex color
- Fix Component meta regex (you can now use the mini message <gradient>)
----------, Oct 13, 2023

Added placeholder %player% when sending messages in a button
Added API placeholder support for modelID
Added arguments for/zm open, more information here ( #13): https://docs.zmenu.dev/configurations/commands-and-permissions#open-command-with-argument
----------, Sep 25, 2023

Fix error with old minecraft version
----------, Sep 21, 2023

  • Fix errors with spigot and folia
  • Command argument optional and open other inventory: #12
  • Change super.onClick on each buttons
[​IMG]
----------, Sep 20, 2023

Merge #9 :
  • Code cleanup
  • Change config name for fKey fo swapItemOffHand
  • Add material loader for Nova
  • Add new button type: MAINMENU
  • Add option to specify custom path to menu files #6
----------, Aug 20, 2023

  • Support for Oraxen items as Material: #7
  • Support for ItemAdder items as Material
  • Support for SlimeFun items as Material
  • Add LeatherArmorMeta: #1
  • Add FireworkEffectMeta: #2
  • Add BannerMeta: #3
----------, Aug 7, 2023

Add material support for Oraxen, you can now add directly your item with oraxen without using custom model id
----------, Aug 1, 2023

Added ability to put a permission list and optional permission list.
More information here: https://docs.zmenu.dev/configurations/buttons#permission
----------, Jul 13, 2023

Improvement of code and documenation of the plugin
----------, Jul 11, 2023

Various small corrections
----------, Jun 20, 2023

Added a pattern system that lets you create items that can be added to multiple inventories: https://docs.zmenu.dev/configurations/patterns
----------, Jun 13, 2023

Resource Information
Author:
----------
Total Downloads: 18,750
First Release: Jun 11, 2023
Last Update: Dec 16, 2024
Category: ---------------
All-Time Rating:
59 ratings
Find more info at docs.zmenu.dev...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings