summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util/PluginScheduler.kt
blob: f29ba2b059bcc23705b2f5b2149c09945600a533 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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)