36 lines
987 B
Java
36 lines
987 B
Java
package dev.loki.loparkour.scheduler;
|
|
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.plugin.Plugin;
|
|
|
|
/**
|
|
* Scheduler backend for Bukkit/Paper servers.
|
|
*/
|
|
final class BukkitBackend implements Scheduler.Backend {
|
|
|
|
private final Plugin plugin;
|
|
|
|
BukkitBackend(Plugin plugin) {
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
@Override
|
|
public ScheduledTask run(Runnable task) {
|
|
return Bukkit.getScheduler().runTask(plugin, task)::cancel;
|
|
}
|
|
|
|
@Override
|
|
public ScheduledTask runAsync(Runnable task) {
|
|
return Bukkit.getScheduler().runTaskAsynchronously(plugin, task)::cancel;
|
|
}
|
|
|
|
@Override
|
|
public ScheduledTask runLater(Runnable task, long delayTicks) {
|
|
return Bukkit.getScheduler().runTaskLater(plugin, task, delayTicks)::cancel;
|
|
}
|
|
|
|
@Override
|
|
public ScheduledTask runTimer(Runnable task, long delayTicks, long periodTicks) {
|
|
return Bukkit.getScheduler().runTaskTimer(plugin, task, delayTicks, periodTicks)::cancel;
|
|
}
|
|
}
|