
XGamemode
You're not switching modes, you're switching dimensions.
1.9K
4
Список изменений
Added
- Added comprehensive thread-safe locking mechanism using ReentrantLock for player data
- Added support for Folia server software with unified scheduling API
- Added debug mode with detailed logging for troubleshooting
- Added maximum mappings limit (10,000) to prevent memory leaks
- Added delayed save system (20 ticks) to batch disk writes
- Added batch processing commands:
/gamemode -all,-online,-offline - Added server version detection for spectator mode compatibility
- Added configuration auto-merge to keep config.yml up-to-date
- Added proper error handling with stack traces in debug mode
- Added player quit event handling to clean up locks
Changed
- Complete architecture rewrite with modular design
- Migrated from coarse synchronized blocks to fine-grained ReentrantLock
- Improved thread management: replaced scattered async calls with centralized 4-thread pool
- Enhanced name-to-UUID mapping with bidirectional cache (uuidToName + nameToUUIDs)
- Optimized data saving: from immediate writes to delayed batch saving
- Unified task scheduling for Bukkit and Folia platforms
- Improved command tab completion with offline player suggestions
- Refactored permission system with granular control (xgamemode.admin, xgamemode.others.*)
- Enhanced logging with color-coded console messages
- Restructured message system with better fallback support
Fixed
- Fixed thread safety issues in name-to-UUID mappings
- Fixed memory leak where player data never got cleaned up
- Fixed data loss risk from frequent uncoordinated saves
- Fixed incorrect console sender usage in logo display
- Fixed spectator mode detection on older server versions
- Fixed race conditions in player join event handling
- Fixed improper synchronization in data file access
- Fixed tab completion showing duplicate entries
- Fixed permission checks for offline player modifications
Removed
- Removed excessive synchronized blocks causing performance bottlenecks
- Removed redundant saveData() calls after every player join
- Removed unsafe HashSet usage in concurrent mappings
- Removed mixed tab/space indentation (now using consistent spaces)
- Removed deprecated scheduler implementations
I won't be sad when the final JAR file is big anymore! Stable > Everything! Screw you, JAR size!
Файлы
XGamemode-4.4-alpha.jar(15.31 KiB)
ОсновнойМетаданные
Канал релиза
Alpha
Номер версии
4.4-alpha
Загрузчики
BukkitFoliaPaperPurpurSpigot
Версии игры
1.8–1.21.11
Загрузок
4
Дата публикации
1 мес. назад
