Files
TCOWW/src/main/kotlin/fr/azur/tcoww/Tcoww.kt
2025-06-28 14:53:52 +02:00

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())
}
}