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 package net.axay.kspigot.main
import net.axay.kspigot.runnables.KRunnables import net.axay.kspigot.runnables.KRunnableHolder
import org.bukkit.plugin.java.JavaPlugin import org.bukkit.plugin.java.JavaPlugin
class KSpigot(val plugin: JavaPlugin) { class KSpigot(val plugin: JavaPlugin) {
val kRunnableHolder = KRunnableHolder()
/** /**
* This function should be invoked * This function should be invoked
* in the onDisable() method of your plugin. * in the onDisable() method of your plugin.
*/ */
fun shutdown() { 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.Bukkit
import org.bukkit.scheduler.BukkitRunnable import org.bukkit.scheduler.BukkitRunnable
object KRunnables { class KRunnableHolder {
val runnableEndCallbacks = HashMap<BukkitRunnable, () -> Unit>() val runnableEndCallbacks = HashMap<BukkitRunnable, () -> Unit>()
@@ -75,7 +75,7 @@ fun bukkitRunnable(
endCallback?.let { endCallback?.let {
it.invoke() it.invoke()
KRunnables.runnableEndCallbacks -= this kSpigot.kRunnableHolder.runnableEndCallbacks -= this
} }
return return
@@ -88,7 +88,7 @@ fun bukkitRunnable(
if (safe) if (safe)
if (endCallback != null) if (endCallback != null)
KRunnables.runnableEndCallbacks[bukkitRunnable] = endCallback kSpigot.kRunnableHolder.runnableEndCallbacks[bukkitRunnable] = endCallback
if (sync) if (sync)
bukkitRunnable.runTaskTimer(kSpigot.plugin, realDelay, realPeriod) bukkitRunnable.runTaskTimer(kSpigot.plugin, realDelay, realPeriod)