From 53994d3c4b4794ee0bc576911fe21393072f3374 Mon Sep 17 00:00:00 2001 From: bluefireoly Date: Fri, 23 Oct 2020 00:08:41 +0200 Subject: [PATCH] Update KSpigotRunnables.kt --- .../kspigot/runnables/KSpigotRunnables.kt | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/net/axay/kspigot/runnables/KSpigotRunnables.kt b/src/main/kotlin/net/axay/kspigot/runnables/KSpigotRunnables.kt index f59086ec..005e3a97 100644 --- a/src/main/kotlin/net/axay/kspigot/runnables/KSpigotRunnables.kt +++ b/src/main/kotlin/net/axay/kspigot/runnables/KSpigotRunnables.kt @@ -96,18 +96,31 @@ fun task( if (endCallback != null) KRunnableHolder.add(bukkitRunnable, endCallback, safe) - if (sync) - bukkitRunnable.runTaskTimer(KSpigotMainInstance, delay, period ?: 20) + if (period != null) + if (sync) bukkitRunnable.runTaskTimer(KSpigotMainInstance, delay, period) + else bukkitRunnable.runTaskTimerAsynchronously(KSpigotMainInstance, delay, period) else - bukkitRunnable.runTaskTimerAsynchronously(KSpigotMainInstance, delay, period ?: 20) + if (sync) bukkitRunnable.runTaskLater(KSpigotMainInstance, delay) + else bukkitRunnable.runTaskLaterAsynchronously(KSpigotMainInstance, delay) } +/** + * Executes the given [runnable] with the given [delay]. + * Either sync or async (specified by the [sync] parameter). + */ +fun bukkitRunLater(delay: Long, sync: Boolean = true, runnable: () -> Unit) { + if (sync) + Bukkit.getScheduler().runTaskLater(KSpigotMainInstance, runnable, delay) + else + Bukkit.getScheduler().runTaskLaterAsynchronously(KSpigotMainInstance, runnable, delay) +} + /** * Executes the given [runnable] either * sync or async (specified by the [sync] parameter). */ -fun bukkitRun(sync: Boolean, runnable: () -> Unit) { +fun bukkitRun(sync: Boolean = true, runnable: () -> Unit) { if (sync) { sync(runnable) } else {