From 5d4f92d4707bd7e7cc06c5b55997a6dadf929a6d Mon Sep 17 00:00:00 2001 From: bluefireoly Date: Thu, 27 Aug 2020 20:50:57 +0200 Subject: [PATCH] Update KSpigot.kt --- .../kotlin/net/axay/kspigot/main/KSpigot.kt | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/net/axay/kspigot/main/KSpigot.kt b/src/main/kotlin/net/axay/kspigot/main/KSpigot.kt index d8731789..cc72887f 100644 --- a/src/main/kotlin/net/axay/kspigot/main/KSpigot.kt +++ b/src/main/kotlin/net/axay/kspigot/main/KSpigot.kt @@ -9,18 +9,41 @@ import org.bukkit.plugin.java.JavaPlugin * It should be initialized when a plugin using * kSpigot gets enabled. * - * Do not forget to call the [shutdown] method - * when your plugin gets disabled. + * **Instead** of overriding [onLoad()], [onEnable()] + * and [onDisable()] **override**: + * - [load()] (called first) + * - [startup()] (called second) + * - [shutdown()] (called in the "end") */ -class KSpigot(val plugin: JavaPlugin) { +abstract class KSpigot : JavaPlugin() { val kRunnableHolder = KRunnableHolder() /** - * This function should be invoked - * in the onDisable() method of your plugin. + * Called when the plugin was loaded */ - fun shutdown() { + open fun load() { } + + /** + * Called when the plugin was enabled + */ + open fun startup() { } + + /** + * Called when the plugin gets disabled + */ + open fun shutdown() { } + + final override fun onLoad() { + load() + } + + final override fun onEnable() { + startup() + } + + final override fun onDisable() { + shutdown() kRunnableHolder.shutdown() }