Add a reload command for Config

This commit is contained in:
2025-04-02 23:10:16 -07:00
parent 48c608b77b
commit f8eef33127
5 changed files with 139 additions and 5 deletions

View File

@@ -0,0 +1,37 @@
package xyz.lncvrt.galaxytab.commands
import net.kyori.adventure.text.minimessage.MiniMessage
import org.incendo.cloud.kotlin.MutableCommandBuilder
import xyz.lncvrt.galaxytab.GalaxyTab
import xyz.lncvrt.galaxytab.commands.api.BukkitCommand
import xyz.lncvrt.galaxytab.commands.api.BukkitSender
class GalaxyTabCommand : BukkitCommand(GalaxyTab.getInstance(), "galaxytab", arrayOf("tab")) {
override fun rootBuilder(builder: MutableCommandBuilder<BukkitSender>) {
builder.handler { context ->
val sender = context.sender().platformSender()
val miniMessage = MiniMessage.miniMessage()
sender.sendMessage(miniMessage.deserialize("<rainbow>GalaxyTab</rainbow> <light_purple>by Lncvrt</light_purple>"))
}
}
init {
rawCommandBuilder().registerCopy {
literal("reload")
permission("${GalaxyTab.getInstance().name.lowercase()}.reload")
handler { context ->
val sender = context.sender().platformSender()
val miniMessage = MiniMessage.miniMessage()
val instance = GalaxyTab.getInstance()
instance.saveDefaultConfig()
instance.reloadConfig()
instance.configFile = instance.config
for (player in instance.server.onlinePlayers) instance.setTab(player)
sender.sendMessage(miniMessage.deserialize("<rainbow>GalaxyTab</rainbow> <light_purple>has been reloaded!</light_purple>"))
}
}
}
}