Updated folia scheduler
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
group 'com.willfp'
|
||||
version rootProject.version
|
||||
|
||||
dependencies {
|
||||
//compileOnly 'dev.folia:folia-api:1.19.3-R0.1-SNAPSHOT'
|
||||
compileOnly 'org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT'
|
||||
}
|
||||
6
eco-core/core-folia/build.gradle.kts
Normal file
6
eco-core/core-folia/build.gradle.kts
Normal file
@@ -0,0 +1,6 @@
|
||||
group = "com.willfp"
|
||||
version = rootProject.version
|
||||
|
||||
dependencies {
|
||||
compileOnly("dev.folia:folia-api:1.19.4-R0.1-SNAPSHOT")
|
||||
}
|
||||
@@ -2,29 +2,48 @@ package com.willfp.eco.internal.scheduling
|
||||
|
||||
import com.willfp.eco.core.EcoPlugin
|
||||
import com.willfp.eco.core.scheduling.Scheduler
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.Location
|
||||
import org.bukkit.scheduler.BukkitTask
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class EcoSchedulerFolia(private val plugin: EcoPlugin) : Scheduler {
|
||||
override fun runLater(runnable: Runnable, ticksLater: Long): BukkitTask {
|
||||
Bukkit.getGlobalRegionScheduler().runDelayed(plugin, { runnable.run() }, ticksLater)
|
||||
}
|
||||
|
||||
override fun runLater(location: Location, ticksLater: Int, task: Runnable): BukkitTask {
|
||||
return Bukkit.getScheduler().runTaskLater(plugin, task, ticksLater.toLong())
|
||||
Bukkit.getRegionScheduler().runDelayed(plugin, location, { task.run() }, ticksLater.toLong())
|
||||
}
|
||||
|
||||
override fun runTimer(delay: Long, repeat: Long, runnable: Runnable): BukkitTask {
|
||||
Bukkit.getGlobalRegionScheduler().runAtFixedRate(plugin, { runnable.run() }, delay, repeat)
|
||||
}
|
||||
|
||||
override fun runTimer(location: Location, delay: Int, repeat: Int, task: Runnable): BukkitTask {
|
||||
return Bukkit.getScheduler().runTaskTimer(plugin, task, delay.toLong(), repeat.toLong())
|
||||
Bukkit.getRegionScheduler().runAtFixedRate(plugin, location, { task.run() }, delay.toLong(), repeat.toLong())
|
||||
}
|
||||
|
||||
override fun run(runnable: Runnable): BukkitTask {
|
||||
Bukkit.getGlobalRegionScheduler().run(plugin) { runnable.run() }
|
||||
}
|
||||
|
||||
override fun run(location: Location, task: Runnable): BukkitTask {
|
||||
return Bukkit.getScheduler().runTask(plugin, task)
|
||||
Bukkit.getRegionScheduler().run(plugin, location) { task.run() }
|
||||
}
|
||||
|
||||
override fun runAsync(task: Runnable): BukkitTask {
|
||||
return Bukkit.getScheduler().runTaskAsynchronously(plugin, task)
|
||||
Bukkit.getAsyncScheduler().runNow(plugin) { task.run() }
|
||||
}
|
||||
|
||||
override fun runTimerAsync(delay: Int, repeat: Int, task: Runnable): BukkitTask {
|
||||
return Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, task, delay.toLong(), repeat.toLong())
|
||||
Bukkit.getAsyncScheduler()
|
||||
.runAtFixedRate(plugin, { task.run() }, delay * 50L, repeat * 50L, TimeUnit.MILLISECONDS)
|
||||
}
|
||||
|
||||
override fun cancelAll() {
|
||||
Bukkit.getScheduler().cancelTasks(plugin)
|
||||
Bukkit.getAsyncScheduler().cancelTasks(plugin)
|
||||
Bukkit.getGlobalRegionScheduler().cancelTasks(plugin)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user