## New Features
- **Performance Debug System**: Added per-operation performance monitoring for inventory opening. Measures execution time for each step (permission checks, button building, item rendering, etc.) and logs results to console. Configurable via `enable-performance-debug`, with threshold filtering and whitelist/blacklist support for operation names.
## Performance
- **ItemStack Build Optimization**: Optimized `ZMenuItemStack.build()` to reduce redundant work on each inventory open:
- Eliminated duplicate PlaceholderAPI resolution for material strings (was called twice per build)
- Pre-resolve `Material` at load time when no placeholders are present, skipping PAPI parsing at runtime
- Replaced exception-based control flow for numeric material IDs with a simple numeric check
- Pre-compute `NamespacedKey` for `tooltipStyle`, `itemModel`, and `equippedModel` in setters instead of splitting/creating on every build
- Cache the glowing enchantment lookup instead of querying the enchantment registry on every build
- Pre-split lore lines containing `\n` at load time instead of splitting on every build
- Added early exit in `Placeholders.parse()` when the string contains no `%` character, avoiding unnecessary iteration over all placeholder entries
## Internal Changes
- **MiniMessage Color Parsing Refactor**: Consolidated color parsing methods into `MiniMessageColorUtils` class for better maintainability and code reuse.
- Added unit tests to verify preservation of MiniMessage color tags.
## Bug Fixes
- Fixed hex color parsing regex to correctly handle edge cases.
- Fixed typo in `PlayerCommandLoader` constructor parameter list.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }