1
0
Fork 0

feat: initial commit

This commit is contained in:
aro 2023-02-20 19:04:37 +01:00
commit 80de826345
40 changed files with 1322 additions and 0 deletions

View file

@ -0,0 +1,59 @@
package xyz.atnrch.dragon.commands
import org.bukkit.Bukkit
import org.bukkit.ChatColor
import xyz.atnrch.dragon.RunnerDragon
import xyz.atnrch.dragon.player.DragonPlayer
class TeamsSubCommand {
fun run(player: DragonPlayer, args: Array<String>) {
if (args.isEmpty() || args.size < 2) {
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}
""".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" -> {
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.")
}
}
}
}
private inline fun <reified T : Enum<T>> enumContains(name: String): Boolean {
return enumValues<T>().any { it.name == name }
}
}