Made runnables safer

This commit is contained in:
bluefireoly
2020-07-15 14:55:36 +02:00
parent fb71557102
commit f9b0167f82
2 changed files with 7 additions and 5 deletions

View File

@@ -1,16 +1,18 @@
package net.axay.kspigot.main
import net.axay.kspigot.runnables.KRunnables
import net.axay.kspigot.runnables.KRunnableHolder
import org.bukkit.plugin.java.JavaPlugin
class KSpigot(val plugin: JavaPlugin) {
val kRunnableHolder = KRunnableHolder()
/**
* This function should be invoked
* in the onDisable() method of your plugin.
*/
fun shutdown() {
KRunnables.shutdown()
kRunnableHolder.shutdown()
}
}

View File

@@ -4,7 +4,7 @@ import net.axay.kspigot.main.KSpigot
import org.bukkit.Bukkit
import org.bukkit.scheduler.BukkitRunnable
object KRunnables {
class KRunnableHolder {
val runnableEndCallbacks = HashMap<BukkitRunnable, () -> Unit>()
@@ -75,7 +75,7 @@ fun bukkitRunnable(
endCallback?.let {
it.invoke()
KRunnables.runnableEndCallbacks -= this
kSpigot.kRunnableHolder.runnableEndCallbacks -= this
}
return
@@ -88,7 +88,7 @@ fun bukkitRunnable(
if (safe)
if (endCallback != null)
KRunnables.runnableEndCallbacks[bukkitRunnable] = endCallback
kSpigot.kRunnableHolder.runnableEndCallbacks[bukkitRunnable] = endCallback
if (sync)
bukkitRunnable.runTaskTimer(kSpigot.plugin, realDelay, realPeriod)