**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…
Read more**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…
Read more**New Features**
- **Pagination Management System**: Introduced PaginationManager with PaginationButton, PaginationNextButton, and PaginationPreviousButton classes, allowing a single button to handle pagination. Includes max page tracking and optimized page size handling.
- **Pagination Placeholders**: Added pagination-related placeholders to MenuPlaceholders for enhanced inventory navigation.
- **Reset Pagination Action**: New ResetPaginationAction and loader to reset pagination state for button paginations.
- **Skip Close Actions on Inventory Switch**: Added skip-close-actions-on-switch…
Read more**Bug Fixes**
- Fixed openWithOldInventories method crash on 1.20 by using CompatibilityUtil.getTopInventory() for safe inventory access.
- Fixed trim pattern and material validation: now uses Bukkit Registry instead of the hardcoded TrimHelper, with proper error messages listing all available patterns/materials when a key is not found.
- Fixed null ItemFlag entries causing errors when applying flags to item meta.
- Fixed EnchantmentGlintOverrideComponent not handling false values correctly - previously only true was applied, now both true and false are respected.
- Fixed click requirements…
Read more**New Features**
- **MMOItems Support**: Added material loader for MMOItems plugin integration.
- **Enchantments Component**: Added enchantments component support for item configuration.
**Performance**
- Performance improvement for items that will use a player's nickname to be displayed (player-head optimization).
**Bug Fixes**
- Fixed enchant key parsing in configuration.
- Fixed enchantments component initialization.
- Fixed title parsing before sending to player in PlayerTitleAnimation.
- Fixed dynamic material check in menu item stack caching logic.
- Fixed %player% as a valid…
Read more