v1.0.5
Features:
- Item templates: reusable items in templates/ folder with variable substitution
- Pattern-based layouts: define menu layouts using character grids
- Animated buttons: frame cycling with configurable interval, reverse, and one-time play
- Progress bar items: fill slots based on current/max values from placeholders
- Dynamic titles: update inventory title on timer with live placeholders
- Player list items: auto-generate page items for online players
- Predicate menus: open different menus based on requirements
Performance:
- 27 optimizations across caching, scheduling, placeholder resolution, data structures, and rendering
- Dirty checking on item updates (skip packet when unchanged)
- Pre-built animation frames, page-only player list generation
- Global async tasks replace per-holder tasks
Fixes:
- Target player preserved on menu reload
- player: action no longer double-slashes commands starting with /
- Minimum click cooldown enforced
- MiniMessage injection escaped in error messages
- Global tasks cancelled on disable
- Dead code removed, legacy codes replaced with MiniMessage