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? {
if(time < 1){
return Bukkit.getGlobalRegionScheduler().run(
plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() }
)
plugin
) { scheduledTask: ScheduledTask? -> task.run() }
}
return Bukkit.getGlobalRegionScheduler().runDelayed(
plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() },
{ scheduledTask: ScheduledTask? -> task.run() },
time
)
}
@ -26,27 +25,16 @@ class FoliaScheduler : TaskScheduler {
if(time < 1){
return entity.scheduler.run(
plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() },
Runnable {}
{ scheduledTask: ScheduledTask? -> task.run() },
{}
)
}
return entity.scheduler.runDelayed(
plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() },
Runnable {},
{ scheduledTask: ScheduledTask? -> task.run() },
{},
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()
// Bukkit or Paper scheduler ?
isFolia = FoliaScheduler.isFolia()
isFolia = testIsFolia()
scheduler = if(isFolia) {
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
}
private fun testIsFolia(): Boolean {
try {
Class.forName("io.papermc.paper.threadedregions.RegionizedServer")
return true
} catch (e: ClassNotFoundException) {
return false
}
}
}