52 lines
1.4 KiB
Kotlin
52 lines
1.4 KiB
Kotlin
package fr.azur.tcoww
|
|
|
|
import fr.azur.tcoww.events.GameEvent
|
|
import fr.azur.tcoww.events.ToolsEvents
|
|
import fr.azur.tcoww.plasmovoice.addon.PlasmoAddon
|
|
import fr.azur.tcoww.roles.*
|
|
import fr.azur.tcoww.utils.Skin
|
|
import net.skinsrestorer.api.SkinsRestorer
|
|
import net.skinsrestorer.api.SkinsRestorerProvider
|
|
import org.bukkit.plugin.java.JavaPlugin
|
|
import su.plo.voice.api.server.PlasmoVoiceServer
|
|
|
|
class Tcoww : JavaPlugin() {
|
|
private lateinit var skinsRestorer: SkinsRestorer
|
|
private lateinit var skinManager: Skin
|
|
val plasmoAddon = PlasmoAddon()
|
|
|
|
override fun onEnable() {
|
|
saveResource("config.yml", false)
|
|
saveDefaultConfig()
|
|
|
|
PlasmoVoiceServer.getAddonsLoader().load(plasmoAddon)
|
|
|
|
skinsRestorer = SkinsRestorerProvider.get()
|
|
skinManager = Skin(this, skinsRestorer)
|
|
|
|
server.pluginManager.registerEvents(ToolsEvents(this), this)
|
|
server.pluginManager.registerEvents(GameEvent(this, skinManager), this)
|
|
|
|
registerRoles()
|
|
}
|
|
|
|
override fun onDisable() {
|
|
|
|
}
|
|
|
|
fun reload(withPlasmoAddon: Boolean) {
|
|
this.reloadConfig()
|
|
skinManager.reloadSkin()
|
|
if (withPlasmoAddon) plasmoAddon.onConfigLoaded()
|
|
}
|
|
|
|
private fun registerRoles() {
|
|
Role.registerRole(Villager())
|
|
Role.registerRole(Werewolf())
|
|
Role.registerRole(Child())
|
|
Role.registerRole(FortuneTeller())
|
|
Role.registerRole(Hunter())
|
|
Role.registerRole(Witch())
|
|
}
|
|
}
|