Moved "isFolia" to main module to avoid error on java version under 1.21

Also moved folia scheduler to another nms module allowing support of folia 1.20.4
This commit is contained in:
alexcrea 2024-09-13 14:06:39 +02:00
parent 694ece5443
commit 3bdb0ce536
No known key found for this signature in database
GPG key ID: 43FD265DB0DBF91F
2 changed files with 18 additions and 20 deletions

View file

@ -10,13 +10,12 @@ class FoliaScheduler : TaskScheduler {
override fun scheduleGlobally(plugin: Plugin, task: Runnable, time: Long): Any? { override fun scheduleGlobally(plugin: Plugin, task: Runnable, time: Long): Any? {
if(time < 1){ if(time < 1){
return Bukkit.getGlobalRegionScheduler().run( return Bukkit.getGlobalRegionScheduler().run(
plugin, plugin
Consumer { scheduledTask: ScheduledTask? -> task.run() } ) { scheduledTask: ScheduledTask? -> task.run() }
)
} }
return Bukkit.getGlobalRegionScheduler().runDelayed( return Bukkit.getGlobalRegionScheduler().runDelayed(
plugin, plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() }, { scheduledTask: ScheduledTask? -> task.run() },
time time
) )
} }
@ -26,27 +25,16 @@ class FoliaScheduler : TaskScheduler {
if(time < 1){ if(time < 1){
return entity.scheduler.run( return entity.scheduler.run(
plugin, plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() }, { scheduledTask: ScheduledTask? -> task.run() },
Runnable {} {}
) )
} }
return entity.scheduler.runDelayed( return entity.scheduler.runDelayed(
plugin, plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() }, { scheduledTask: ScheduledTask? -> task.run() },
Runnable {}, {},
time time
) )
} }
companion object {
fun isFolia(): Boolean {
try {
Class.forName("io.papermc.paper.threadedregions.RegionizedServer")
return true
} catch (e: ClassNotFoundException) {
return false
}
}
}
} }

View file

@ -25,7 +25,7 @@ object DependencyManager {
val pluginManager = Bukkit.getPluginManager() val pluginManager = Bukkit.getPluginManager()
// Bukkit or Paper scheduler ? // Bukkit or Paper scheduler ?
isFolia = FoliaScheduler.isFolia() isFolia = testIsFolia()
scheduler = if(isFolia) { scheduler = if(isFolia) {
CustomAnvil.instance.logger.info("Folia detected... Custom Anvil Folia support is experimental. issues are more likely to happens.") CustomAnvil.instance.logger.info("Folia detected... Custom Anvil Folia support is experimental. issues are more likely to happens.")
@ -92,4 +92,14 @@ object DependencyManager {
return bypass return bypass
} }
private fun testIsFolia(): Boolean {
try {
Class.forName("io.papermc.paper.threadedregions.RegionizedServer")
return true
} catch (e: ClassNotFoundException) {
return false
}
}
} }