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

@ -1,52 +0,0 @@
package xyz.alexcrea.cuanvil.dependency.scheduler
import io.papermc.paper.threadedregions.scheduler.ScheduledTask
import org.bukkit.Bukkit
import org.bukkit.entity.Entity
import org.bukkit.plugin.Plugin
import java.util.function.Consumer
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() }
)
}
return Bukkit.getGlobalRegionScheduler().runDelayed(
plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() },
time
)
}
override fun scheduleOnEntity(plugin: Plugin, entity: Entity, task: Runnable, time: Long): Any? {
if(time < 1){
return entity.scheduler.run(
plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() },
Runnable {}
)
}
return entity.scheduler.runDelayed(
plugin,
Consumer { scheduledTask: ScheduledTask? -> task.run() },
Runnable {},
time
)
}
companion object {
fun isFolia(): Boolean {
try {
Class.forName("io.papermc.paper.threadedregions.RegionizedServer")
return true
} catch (e: ClassNotFoundException) {
return false
}
}
}
}