1
0
Fork 0
runnerdragon/src/main/kotlin/xyz/atnrch/dragon/commands/TeamsSubCommand.kt
2023-02-21 11:07:35 +01:00

65 lines
No EOL
2.9 KiB
Kotlin

package xyz.atnrch.dragon.commands
import org.bukkit.Bukkit
import org.bukkit.ChatColor
import xyz.atnrch.dragon.RunnerDragon
import xyz.atnrch.dragon.enumContains
import xyz.atnrch.dragon.player.DragonPlayer
class TeamsSubCommand {
fun run(player: DragonPlayer, args: Array<String>) {
if (args.isEmpty()) {
player.sendMessage(
"""
${ChatColor.LIGHT_PURPLE}Configuration des équipes:
${ChatColor.DARK_GRAY}- ${ChatColor.GOLD}Status: ${if (RunnerDragon.TEAM_LOCK) "${ChatColor.RED}fermées" else "${ChatColor.GREEN}ouvertes${ChatColor.RESET}."}
${ChatColor.DARK_GRAY}- ${ChatColor.GOLD}Nombre: ${ChatColor.AQUA}${RunnerDragon.NUMBER_OF_TEAMS}
${ChatColor.DARK_GRAY}- ${ChatColor.GOLD}Capacité: ${ChatColor.AQUA}${RunnerDragon.TEAM_MAX_SIZE}
${ChatColor.DARK_GRAY}- ${ChatColor.GOLD}Équipes enregistrées: ${
RunnerDragon.instance.teamManager.getTeamColorsNames().joinToString("${ChatColor.RESET}, ", "", "")
}
""".trimIndent()
)
return
}
when (args[0]) {
"lock" -> {
RunnerDragon.TEAM_LOCK = RunnerDragon.TEAM_LOCK.not()
Bukkit.getOnlinePlayers()
.forEach {
RunnerDragon.instance.playerManager.getPlayer(it.uniqueId)
.setTeamItem(RunnerDragon.TEAM_LOCK.not())
}
player.sendMessage("Les équipes sont désormais: ${if (RunnerDragon.TEAM_LOCK) "${ChatColor.RED}fermées" else "${ChatColor.GREEN}ouvertes${ChatColor.RESET}."}")
}
"swap" -> {
if (args.size < 2) {
player.sendMessage("${ChatColor.RED}Argument manquant.")
} else {
val target = Bukkit.getPlayer(args[1])
val targetTeam = args[2]
if (enumContains<ChatColor>(targetTeam)) {
val value: ChatColor = ChatColor.valueOf(targetTeam)
target?.let {
val instance = RunnerDragon.instance
instance.teamManager.getOnColor(value)
?.let { coloredTeam ->
val dragonPlayer = instance.playerManager.getPlayer(it.uniqueId)
dragonPlayer.setTeam(coloredTeam)
dragonPlayer.updateDisplayName()
player.sendMessage("${target.name} est passé dans l'équipe ${coloredTeam.name}")
}
}
} else {
player.sendMessage("${ChatColor.RED}Couleur invalide.")
}
}
}
}
}
}