material: POTION
- Added number of inventory loaded with command /zm reload
- Added anti dupe system with NMS Tag and PDC
- Fix model id value in config, you can now you modelId, customModelId or customModelData
- Fix player head for 1.20+ (https://blog.jeff-media.com/creating-custom-heads-in-spigot-1-18-1/) https://github.com/Maxlego08/zMenu/issues/16
- Fix docs for potion
- Added information about potion in 1.8 - 1.12. You have to do this:
durability: 16454
- 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:
Be careful, you must put an s to placeholder, otherwise it will not work.YAML:placeholders: - placeholder: <your placeholder> value: <your value> action: <your action> - placeholder: <your placeholder> value: <your value> action: <your action>
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 can use now the text placeholder instanceof placeHolder
- Start new way to configure the plugin, you have now requirement and actions:
You have 12 actions available:
Example for view_requirement:
- broadcast
- broadcast_sound
- close
- connect
- console_command
- data
- inventory
- message
- chat
- player_command
- sound
- refresh
Example for open_requirement: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 click_requirement: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."
More information on the plugin documentation: https://docs.zmenu.dev/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"
- Add alias for placeholder action:
- BOOLEAN:
b=- EQUALS_STRING:
s=- EQUALSIGNORECASE_STRING:
s==- CONTAINS_STRING:
sc- EQUAL_TO:
==- SUPERIOR:
>- SUPERIOR_OR_EQUAL:
>=- LOWER:
<- 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)
- 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
- 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
- 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)
- 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.
- 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
- 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>)
