summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util/PluginAware.kt
diff options
context:
space:
mode:
authorDico Karssiens <dico.karssiens@gmail.com>2019-01-10 18:52:51 +0000
committerDico Karssiens <dico.karssiens@gmail.com>2019-01-10 18:52:51 +0000
commit37fa1f9bbfc852dfa67862cde3d11a4e5415db11 (patch)
tree9350ab43d11b294cd7218fec3b61fa83ea3beda8 /src/main/kotlin/io/dico/parcels2/util/PluginAware.kt
parentd80f69488656485a8b93b4982e678ed62c5df96b (diff)
parent778e301efc09eb8326146a084bb6788be748e6f1 (diff)
Merge upstreamHEADmaster
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/PluginAware.kt')
-rw-r--r--src/main/kotlin/io/dico/parcels2/util/PluginAware.kt19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/util/PluginAware.kt b/src/main/kotlin/io/dico/parcels2/util/PluginAware.kt
new file mode 100644
index 0000000..b55f991
--- /dev/null
+++ b/src/main/kotlin/io/dico/parcels2/util/PluginAware.kt
@@ -0,0 +1,19 @@
+@file:Suppress("RedundantLambdaArrow")
+
+package io.dico.parcels2.util
+
+import org.bukkit.plugin.Plugin
+import org.bukkit.scheduler.BukkitTask
+
+interface PluginAware {
+ val plugin: Plugin
+}
+
+inline fun PluginAware.schedule(delay: Int = 0, crossinline task: () -> Unit): BukkitTask {
+ return plugin.server.scheduler.runTaskLater(plugin, { -> task() }, delay.toLong())
+}
+
+inline fun PluginAware.scheduleRepeating(interval: Int, delay: Int = 0, crossinline task: () -> Unit): BukkitTask {
+ return plugin.server.scheduler.runTaskTimer(plugin, { -> task() }, delay.toLong(), interval.toLong())
+}
+