🔥 Core Changes
1. Performance Improvements
-
- 80% reduced memory usage via stream-based ZIP handling
-
- Added async resource pack loading (performance.async-pack-loading)
-
- Optimized HTTP server threading
2. Stability Fixes
-
- Fixed resource leaks in ZIP creation (critical)
-
- Resolved race condition in event registration
-
- Added null checks for pack initialization
🎮 Resource Pack Handling
New Features
- /assignpack <url> now accepts custom URLs (with security checks)
- Configurable send delay (resourcepack.send-delay-ticks)
- Optional "force resend" on reload (resourcepack.force-resend-on-reload)
- Automatic ZIP backups with rotation (backups.keep-zip-backups)
Improvements
- SHA-1 hash validation for pack integrity
- Streamlined pack merging logic
- Added HTTP server shutdown on plugin disable
- Player state checks before sending packs