File Details
hyessentialsx-1.4.1.jar
- R
- Mar 14, 2026
- 25.23 MB
- 274
- Early Access
File Name
hyessentialsx-1.4.1.jar
Supported Versions
- Early Access
Changelog
Reload/runtime:
• Reworked /hyessentialsx reload in HyEssentialsXPlugin.java so it no longer replaces live manager instances that existing listeners still reference.
• Added in-place restart/reload support for AFK and autobroadcast in AfkManager.java and AutoBroadcastManager.java.
• Kept scoreboard reload on the existing manager instance via reloadConfiguration() instead of rebuilding it under old listeners.
• Made TPA request timeout reloadable at runtime in TPManager.java.
• Placeholder expansion is now explicitly unregistered/re-registered during reload to avoid stale registrations.
Persistence/storage:
• Fixed storage cache reload to flush queued writes before clearing in-memory player data in StorageManager.java.
• Changed async player saves to snapshot the PlayerDataModel at submit time so later mutations cannot leak into earlier queued writes in StorageManager.java.
• Added explicit flush() support and used it for reload/shutdown safety in StorageManager.java.
• Made unloadPlayer() persist and flush before eviction so disconnect-time cache drops don’t risk losing data.
• Normalized key lookups with Locale.ROOT in storage indexes/maps.
File IO hardening:
• Added atomic temp-file writes in AtomicFileUtil.java.
• Switched JSON backend saves to atomic writes in JsonStorageBackend.java.
• Switched config JSON writes to atomic writes in ConfigManager.java.
• Fixed Files.list(...) stream handling in JsonStorageBackend.java.
Performance/correctness:
• Added a short-lived paycheck permission cache in PaycheckManager.java to avoid scanning up to 100000 permission nodes every cycle for every player.
• Clear paycheck cache on reload so config/permission changes are picked up quickly.
• Made pendingConfirm in RankupManager.java concurrent-safe.

