▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/XGamemode
XGamemode

XGamemode

You're not switching modes, you're switching dimensions.

1.9K
4

Optimizations

release22 марта 2026 г.

Added

  • Batch processing for offline player data with configurable BATCH_SIZE (default: 100) to prevent memory overflow when handling large datasets
  • Centralized constant declarations (SAVE_DELAY, MAX_MAPPINGS, BATCH_SIZE, LOCK_TIMEOUT, SHUTDOWN_TIMEOUT) for better maintainability

Fixed

  • Potential performance issue where offline player data was processed without pagination, causing high memory usage
  • Redundant BatchResult inner class replaced with local variables for cleaner code structure

Changed

  • Optimized processOfflinePlayersData method to process keys in batches instead of all at once
  • Simplified handleBatchPlayers method by removing unnecessary BatchResult wrapper class
  • Streamlined code formatting: compressed multi-line conditionals into single lines where appropriate
  • Improved code readability with consistent constant usage across all methods

Removed

  • Redundant BatchResult inner class (functionality replaced with local variables)
  • Hardcoded thread pool size value (now using THREAD_POOL_SIZE constant)

Fixes...

beta27 февраля 2026 г.

Added

  • Added debug logging for lock timeouts and interruptions
  • Added pendingSaves set to prevent multiple concurrent save operations

Changed

  • Improved Folia scheduler fallback logic: sync tasks now use Bukkit scheduler instead of direct run() to prevent main thread blocking
  • Enhanced version detection to properly handle 1.8.8 format

Fixed

  • Fixed potential main thread blocking when Folia scheduling fails
  • Fixed lock timeout handling with proper debug logging for easier troubleshooting
  • Fixed duplicate data saving by implementing pending saves tracking with ConcurrentHashMap.newKeySet()
  • Fixed version parsing for formats like 1.8.8

Completly Optimized!

alpha26 февраля 2026 г.

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!

4.3-rls

release2 февраля 2026 г.
  • Optimized the plugin.

4.3-beta

beta4 июля 2025 г.

[x] Fixed the bug that cause error when closing the server.

Совместимость

Minecraft: Java Edition

1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x1.13.x1.12.x1.11.x1.10.x1.9.x1.8.x

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:CC-BY-NC-SA-4.0
Опубликован:1 год назад
Обновлён:3 недели назад
Главная