All versions
1.2.1
Release
Easter Holidays 1.2.18 months ago 33
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Folia
Paper
Purpur
Spigot
Changes
[1.2.1] - 2026-03-08
🐛 Bug Fixes - Critical Stability Improvements
Database & Performance
- Fixed NullPointerException in StatisticsManager:
getStats()now automatically loads player stats if not in cache - Replaced Thread.sleep() in AchievementManager: Now uses
CountDownLatchwith 5-second timeout for proper async shutdown - Migrated to HikariCP Connection Pooling: All database managers now use connection pooling for better concurrency
EasterBasketManager: Migrated from single connection to HikariCPEasterTitleManager: Migrated from single connection to HikariCP- Prevents SQLite lock issues and improves multi-threaded performance
Null Safety
- Added null-checks in PlayerJoinListener: Prevents NPE when managers fail to initialize
- Added null-checks in PlayerQuitListener: Safe cleanup even if managers are unavailable
Performance Optimizations
- Optimized distance calculations in EasterEggManager: Changed from
distance()todistanceSquared()to avoid expensive sqrt operations - Improved config parsing error handling:
- Added validation for CustomModelData ranges
- Added proper error logging for invalid configuration values
- Prevents silent failures in config parsing
🔧 Technical Improvements
- All database managers now consistently use HikariCP for connection pooling
- Improved error logging across all managers
- Better resource cleanup during plugin shutdown
- Thread-safe shutdown procedures with proper timeout handling
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:Oq4iSVvg:7eRklQut"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Oq4iSVvg:7eRklQut"
}
