Links
Tags
Creators
Details
Licensed CC-BY-NC-SA-4.0
Published 8 months ago
Updated 5 months ago
All versions
1.2-beta
Beta
Another optimization!8 months ago 24
Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Changes
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.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:MIMbZFQ8:dTO8qrFV"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:MIMbZFQ8:dTO8qrFV"
}

