summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util/PluginScheduler.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/PluginScheduler.kt')
-rw-r--r--src/main/kotlin/io/dico/parcels2/util/PluginScheduler.kt20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/util/PluginScheduler.kt b/src/main/kotlin/io/dico/parcels2/util/PluginScheduler.kt
new file mode 100644
index 0000000..f29ba2b
--- /dev/null
+++ b/src/main/kotlin/io/dico/parcels2/util/PluginScheduler.kt
@@ -0,0 +1,20 @@
+package io.dico.parcels2.util
+
+import org.bukkit.plugin.Plugin
+import org.bukkit.scheduler.BukkitTask
+
+interface PluginScheduler {
+ val plugin: Plugin
+
+ fun schedule(delay: Int, task: () -> Unit): BukkitTask {
+ return plugin.server.scheduler.runTaskLater(plugin, task, delay.toLong())
+ }
+
+ fun scheduleRepeating(delay: Int, interval: Int, task: () -> Unit): BukkitTask {
+ return plugin.server.scheduler.runTaskTimer(plugin, task, delay.toLong(), interval.toLong())
+ }
+}
+
+@Suppress("NOTHING_TO_INLINE")
+inline fun PluginScheduler.schedule(noinline task: () -> Unit) = schedule(0, task)
+