▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/XTransfer
XTransfer

XTransfer

A tool that help you transfer players' data between names or UUIDs.

29
2

Fixes...

release27 февраля 2026 г.

Added

  • Added MAX_CACHE_SIZE (1000) limit to prevent memory overflow when loading usercache.json
  • Added automatic cleanup task to remove stale player locks and access records every hour
  • Added performance monitoring with loading time statistics in debug logs
  • Added detailed debug logging for file operations, lock acquisition, and error conditions
  • Added disk space check before backup operations

Changed

  • Refactored data loading: Merged loadUserCache() and loadNameToUUIDs() into single loadPlayerData() method for better performance
  • Improved lock management: Locks now track last access time and are automatically cleaned up
  • Enhanced error handling: All exceptions now include detailed debug messages instead of being ignored
  • Optimized file copying: Implemented atomic temp file operations with proper cleanup
  • Restructured command handling: Unified transfer and transferuuid logic into single method
  • Improved backup system: Added proper file existence checks and atomic operations
  • Enhanced tab completion: Added offline player name suggestions with limits
  • Better executor shutdown: Added timeout handling and forced termination if needed

Fixed

  • Critical: Fixed recursive scheduling in startCleanupTask() that could cause stack overflow
  • Critical: Removed dangerous offline UUID fallback that could match wrong players (UUID.nameUUIDFromBytes)
  • Fixed scheduler parameter bug where null could be passed instead of plugin instance
  • Fixed potential memory leak by properly removing locks on player quit
  • Fixed file copy failure when parent directories don't exist
  • Fixed race condition in task tracking set during concurrent operations
  • Fixed incorrect stats file extension for older server versions (<1.13)
  • Fixed potential deadlock by implementing consistent lock ordering
  • Fixed missing message placeholders in several command responses

Removed

  • Removed dangerous offline UUID generation (UUID.nameUUIDFromBytes)
  • Removed redundant async parameter from Bukkit scheduler calls
  • Removed duplicate data loading methods in favor of unified approach
  • Removed empty catch blocks that silently ignored exceptions
  • Removed unnecessary thread pool for simple operations

Another optimization!

beta26 февраля 2026 г.

Added

  • Folia server support with global region scheduler
  • Async file copy operations with buffered streams
  • User cache loading from usercache.json
  • Name-to-UUID mapping system for offline player lookup
  • Backup file creation with configurable suffix
  • Disk space checking before file operations (50MB reserve)
  • File copy retry mechanism (3 retries with 1 second delay)
  • Atomic file operations using temporary files
  • Memory leak prevention with automatic lock cleanup system
  • Periodic cache cleanup task (runs every hour)
  • Player quit event listener to remove unused locks
  • Last access time tracking for lock management
  • Version detection fallback for unknown server versions
  • Multi-language support with message placeholders
  • Stats and advancements transfer with version detection
  • List command for player data with pagination
  • Tab completion with online and offline player support
  • Player kick option for online target players

Changed

  • Migrated to CompletableFuture for reliable async operations
  • Optimized concurrent map operations with atomic replacements
  • Improved UUID parsing with better error handling and formatting
  • Enhanced scheduler with automatic Folia/Bukkit detection
  • Simplified logging system while keeping debug functionality
  • Better resource cleanup in onDisable() with timeout handling
  • Streamlined configuration loading with auto-fix
  • More efficient name-to-UUID mapping updates
  • Optimized file copy with proper buffer sizing (8KB)
  • Improved lock acquisition with timeout and deadlock prevention

Fixed

  • Potential memory leak from unclosed player locks
  • Thread safety issues in cache loading (added synchronization)
  • Disk space exhaustion crashes during file transfer
  • Server version detection crashes with unusual formats
  • Concurrent modification issues in map operations
  • File copy failures due to cross-filesystem moves
  • Backup file corruption from incomplete writes
  • Tab completion NPE with null permissions
  • UUID format inconsistencies in user input
  • Player kick timing issues with async operations
  • Configuration loading errors with missing keys
  • Resource leaks in file streams (try-with-resources)
  • Shutdown hangs from unfinished tasks

Removed

  • Redundant constant classes (merged into simple constants)
  • Excessive logging methods (consolidated into core ones)
  • Overly detailed debug outputs (kept essential only)
  • Unnecessary map clearing operations
  • Duplicate code blocks in transfer handling
  • Deprecated Bukkit API usages
  • Legacy version color formatting (simplified version display)
  • Redundant permission checks in tab completion

Nah, this is a big work, honestly. Not gonna give up of it.

Optimization

alpha26 февраля 2026 г.

Changed

  • More stable and safe action!
  • The code is shorter than the old one.
  • The plugin runs faster.

Folia!

release25 февраля 2026 г.

Added

  • Folia supported!

Changed

  • Optimized the size of JAR.

1.8 ~ 1.12 Supports!

beta25 февраля 2026 г.

Added

  • Supports 1.8.x ~ 1.12.x now!

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

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 месяц назад
Обновлён:1 месяц назад
Главная