Add warning for overriding the main instance

This commit is contained in:
Jakob K
2021-06-15 19:21:17 +02:00
parent 20146f6d00
commit 94a8fcedb8

View File

@@ -1,5 +1,7 @@
package net.axay.kspigot.main package net.axay.kspigot.main
import net.axay.kspigot.extensions.bukkit.warn
import net.axay.kspigot.extensions.console
import net.axay.kspigot.gui.GUIHolder import net.axay.kspigot.gui.GUIHolder
import net.axay.kspigot.languageextensions.kotlinextensions.closeIfInitialized import net.axay.kspigot.languageextensions.kotlinextensions.closeIfInitialized
import net.axay.kspigot.runnables.KRunnableHolder import net.axay.kspigot.runnables.KRunnableHolder
@@ -41,7 +43,7 @@ abstract class KSpigot : JavaPlugin() {
open fun shutdown() {} open fun shutdown() {}
final override fun onLoad() { final override fun onLoad() {
KSpigotMainInstance = this internalMainInstance = this
load() load()
} }
@@ -57,4 +59,12 @@ abstract class KSpigot : JavaPlugin() {
} }
} }
lateinit var KSpigotMainInstance: KSpigot private set private var internalMainInstance: KSpigot? = null
set(value) {
if (field != null) {
console.warn("The main instance of KSpigot has been modified, even though it has already been set by another plugin!")
}
field = value
}
val KSpigotMainInstance = internalMainInstance!!