Tags
Creators
Details
2.0.0
Compatibility
Changes
[2.0.0] - 2026-01-06
Added
- Folia Support: Full compatibility with Folia (region-threaded) servers
- Added
folia-supported: trueflag in plugin.yml - New
SchedulerUtilclass for cross-platform scheduler abstraction - Automatic detection of Folia vs Paper/Spigot at runtime
- Uses reflection to call Folia API without compile-time dependency
- Region scheduler for location-based tasks
- Entity scheduler for player/entity-specific tasks
- Async scheduler for background operations
- All 26 scheduler calls migrated to use SchedulerUtil
- Added
Fixed
-
Folia Scheduler Bug: Fixed UnsupportedOperationException when running on Folia servers
- Corrected all reflection API calls to use proper Folia methods
runLater()now usesBukkit.getRegionScheduler().runDelayed()run()now usesBukkit.getRegionScheduler().run()runAsync()now usesBukkit.getAsyncScheduler().runNow()runAsyncLater()now usesBukkit.getAsyncScheduler().runDelayed()
-
Sound Key Validation: Removed strict validation that rejected valid sound keys
- Now accepts both
namespace:keyformat (e.g.,customjukebox:epic_journey) - AND legacy
music_disc.nameformat (e.g.,music_disc.traeumer) - Validation errors for 18 discs resolved
- Now accepts both
-
ConfigManager NullPointerException: Fixed initialization crash
- Removed
isDebug()check increateBackup()method during initialization - Plugin now starts without errors
- Removed
-
PlaybackManager NullPointerException: Fixed task storage crash on Folia
- Added null checks before storing tasks in ConcurrentHashMap
- Folia tasks return null (expected behavior) - now handled gracefully
- Fixed in both
scheduleAutoStop()andscheduleLoopTask()methods
Technical
- New
SchedulerUtilclass with Folia detection viaio.papermc.paper.threadedregions.RegionizedServer - Uses Java reflection to avoid compile-time Folia dependency
- Fallback to Paper scheduler if reflection fails
- All scheduler methods return nullable
BukkitTask(null on Folia) - Enhanced error logging for scheduler failures
- Full backwards compatibility with Paper/Spigot servers
Migration Notes
- Plugin now works on both Folia AND Paper/Spigot servers
- No configuration changes required
- Automatic server type detection
- Zero performance impact on Paper/Spigot servers
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:SFWdW3tI:zhSiTZHo"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:SFWdW3tI:zhSiTZHo"
}

