From 6cb45aa6419ba4b103a83d5a641519033901d5f3 Mon Sep 17 00:00:00 2001 From: bluefireoly Date: Mon, 6 Jul 2020 00:48:12 +0200 Subject: [PATCH] cancel() is now supported outside of the default logic --- src/main/kotlin/net/axay/kspigot/runnables/KRunnables.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/net/axay/kspigot/runnables/KRunnables.kt b/src/main/kotlin/net/axay/kspigot/runnables/KRunnables.kt index 4d5d0b96..0c3bef76 100644 --- a/src/main/kotlin/net/axay/kspigot/runnables/KRunnables.kt +++ b/src/main/kotlin/net/axay/kspigot/runnables/KRunnables.kt @@ -68,13 +68,18 @@ fun bukkitRunnable( kSpigotRunnable.counter-- - if (kSpigotRunnable.counter >= 0) { - this.cancel() + if (kSpigotRunnable.counter >= 0 || (this.isCancelled && safe)) { + + if (!this.isCancelled) + this.cancel() + endCallback?.let { it.invoke() KRunnables.runnableEndCallbacks -= this } + return + } }