diff options
author | Dico200 <dico.karssiens@gmail.com> | 2018-07-22 20:51:46 +0200 |
---|---|---|
committer | Dico200 <dico.karssiens@gmail.com> | 2018-07-22 20:51:46 +0200 |
commit | 9e31ea7e51762292301858b6821e27e971b3981b (patch) | |
tree | cbaa0c2444919f0d8717f2dbe06685773517e9e5 /src/main/kotlin/io/dico/parcels2/ParcelsPlugin.kt | |
parent | 8a0a77b8ba4a2e160558809b592e4bc393e7c997 (diff) |
Add a few development commands. World generation works
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/ParcelsPlugin.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/ParcelsPlugin.kt | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/ParcelsPlugin.kt b/src/main/kotlin/io/dico/parcels2/ParcelsPlugin.kt index 43ee65b..9e9fc10 100644 --- a/src/main/kotlin/io/dico/parcels2/ParcelsPlugin.kt +++ b/src/main/kotlin/io/dico/parcels2/ParcelsPlugin.kt @@ -1,5 +1,8 @@ package io.dico.parcels2 +import io.dico.dicore.command.CommandBuilder +import io.dico.dicore.command.EOverridePolicy +import io.dico.dicore.command.ICommandDispatcher import io.dico.parcels2.storage.Storage import io.dico.parcels2.storage.yamlObjectMapper import io.dico.parcels2.util.tryCreate @@ -7,7 +10,6 @@ import org.bukkit.Bukkit import org.bukkit.plugin.java.JavaPlugin import org.slf4j.LoggerFactory import java.io.File -import java.util.logging.Level val logger = LoggerFactory.getLogger("ParcelsPlugin") @@ -18,28 +20,28 @@ class ParcelsPlugin : JavaPlugin() { lateinit var options: Options lateinit var worlds: Worlds lateinit var storage: Storage + private var cmdDispatcher: ICommandDispatcher? = null override fun onEnable() { if (!init()) { Bukkit.getPluginManager().disablePlugin(this) + return } + + registerCommands() + } + + override fun onDisable() { + cmdDispatcher?.unregisterFromCommandMap() } private fun init(): Boolean { optionsFile = File(dataFolder, "options.yml") options = Options() - worlds = Worlds() + worlds = Worlds(this) try { - if (optionsFile.exists()) { - yamlObjectMapper.readerForUpdating(options).readValue<Options>(optionsFile) - } else if (optionsFile.tryCreate()) { - options.addWorld("plotworld", WorldOptions()) - yamlObjectMapper.writeValue(optionsFile, options) - } else { - plogger.error("Failed to save options file ${optionsFile.canonicalPath}") - return false - } + if (!loadOptions()) return false try { storage = options.storage.newStorageInstance() @@ -57,4 +59,29 @@ class ParcelsPlugin : JavaPlugin() { return true } + fun loadOptions(): Boolean { + if (optionsFile.exists()) { + yamlObjectMapper.readerForUpdating(options).readValue<Options>(optionsFile) + } else if (optionsFile.tryCreate()) { + options.addWorld("plotworld", WorldOptions()) + yamlObjectMapper.writeValue(optionsFile, options) + } else { + plogger.error("Failed to save options file ${optionsFile.canonicalPath}") + return false + } + return true + } + + private fun registerCommands() { + //@formatting:off + cmdDispatcher = CommandBuilder() + .group("parcel", "plot", "plots", "p") + .registerCommands(PlotCommands(this)) + .parent() + .getDispatcher() + //@formatting:on + + cmdDispatcher!!.registerToCommandMap("parcels:", EOverridePolicy.FALLBACK_ONLY) + } + }
\ No newline at end of file |