simply-minecraft-db/src/main/kotlin/net/hareworks/simplymcdb/App.kt

56 lines
1.3 KiB
Kotlin

package net.hareworks.simplymcdb
import net.hareworks.simplymcdb.Config
import net.hareworks.simplymcdb.database.Database
import net.hareworks.simplymcdb.command.smcdb
import net.hareworks.kommandlib.KommandLib
import org.bukkit.plugin.java.JavaPlugin
enum class State {
ACTIVE,
DISCONNECTED,
DISABLED
}
public class App : JavaPlugin() {
public var enabled: State = State.DISABLED
private set(value) {
field = value
Config.config.set("enabled", !value.equals(State.DISABLED))
}
companion object {
lateinit var instance: App
private set
}
lateinit var command: KommandLib
private set
override fun onEnable() {
instance = this
logger.info("simplymcdb enabled.")
Config.init()
command = KommandLib(this, "smcdb" to smcdb)
}
override fun onDisable() {
enabled = State.DISABLED
Database.disconnect()
command.unregister()
logger.info("simplymcdb disabled.")
}
public fun enable() {
Database.connect()
if (Database.instance == null) {
enabled = State.DISCONNECTED
return
}
logger.info("simplymcdb enabled.")
enabled = State.ACTIVE
}
public fun disable() {
Database.disconnect()
logger.info("simplymcdb disabled.")
enabled = State.DISABLED
}
}