Made runnables safer
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
}
|
@@ -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)
|
Reference in New Issue
Block a user