diff --git a/src/main/kotlin/xyz/atnrch/dragon/commands/TeamsSubCommand.kt b/src/main/kotlin/xyz/atnrch/dragon/commands/TeamsSubCommand.kt index e7013c8..b8f4419 100644 --- a/src/main/kotlin/xyz/atnrch/dragon/commands/TeamsSubCommand.kt +++ b/src/main/kotlin/xyz/atnrch/dragon/commands/TeamsSubCommand.kt @@ -11,7 +11,7 @@ class TeamsSubCommand { if (args.isEmpty()) { player.sendMessage( """ - ${ChatColor.LIGHT_PURPLE}Configuration des équipes: + 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} diff --git a/src/main/kotlin/xyz/atnrch/dragon/event/PlayerJoinListener.kt b/src/main/kotlin/xyz/atnrch/dragon/event/PlayerJoinListener.kt index 7432a08..927fa9c 100644 --- a/src/main/kotlin/xyz/atnrch/dragon/event/PlayerJoinListener.kt +++ b/src/main/kotlin/xyz/atnrch/dragon/event/PlayerJoinListener.kt @@ -1,23 +1,40 @@ package xyz.atnrch.dragon.event import org.bukkit.ChatColor +import org.bukkit.GameMode import org.bukkit.event.EventHandler import org.bukkit.event.Listener import org.bukkit.event.player.PlayerJoinEvent +import xyz.atnrch.dragon.GameState import xyz.atnrch.dragon.RunnerDragon +import xyz.atnrch.dragon.player.DragonPlayer +import xyz.haoshoku.nick.api.NickAPI class PlayerJoinListener : Listener { @EventHandler fun onPlayerJoin(event: PlayerJoinEvent) { val player = event.player + val dragonPlayer: DragonPlayer = RunnerDragon.instance.playerManager.addPlayer(player.uniqueId) + + NickAPI.resetNick(player) + NickAPI.resetUniqueId(player) + NickAPI.resetGameProfileName(player) + NickAPI.resetSkin(player) + NickAPI.setUniqueId(player, player.uniqueId) - val dragonPlayer = RunnerDragon.instance.playerManager.addPlayer(player.uniqueId) - dragonPlayer.sendMessage("Bienvenue !") - dragonPlayer.instantiatePlayer() - RunnerDragon.instance.playerManager.getPlayers().forEach { (_, player) -> - player.updateDisplayName() - player.setTeamItem(true) - } event.joinMessage = "(${ChatColor.GREEN}+${ChatColor.WHITE}) ${player.name}" + if (RunnerDragon.STATE == GameState.WAITING) { + dragonPlayer.sendMessage("Bienvenue !") + dragonPlayer.instantiatePlayer() + dragonPlayer.setTeamItem(true) + } + + if (dragonPlayer.getTeam() == null) { + dragonPlayer.player.gameMode = GameMode.SPECTATOR + dragonPlayer.sendMessage("Partie rejointe en spectateur.") + return + } + + dragonPlayer.updateDisplayName() } } \ No newline at end of file diff --git a/src/main/kotlin/xyz/atnrch/dragon/event/PlayerQuitListener.kt b/src/main/kotlin/xyz/atnrch/dragon/event/PlayerQuitListener.kt index 176ff22..d1bde75 100644 --- a/src/main/kotlin/xyz/atnrch/dragon/event/PlayerQuitListener.kt +++ b/src/main/kotlin/xyz/atnrch/dragon/event/PlayerQuitListener.kt @@ -4,15 +4,11 @@ import org.bukkit.ChatColor import org.bukkit.event.EventHandler import org.bukkit.event.Listener import org.bukkit.event.player.PlayerQuitEvent -import xyz.atnrch.dragon.RunnerDragon class PlayerQuitListener : Listener { @EventHandler fun onPlayerJoin(event: PlayerQuitEvent) { val player = event.player - - RunnerDragon.instance.teamManager.getPlayerTeam(player)!!.removePlayer(player.uniqueId) - RunnerDragon.instance.playerManager.removePlayer(player.uniqueId) event.quitMessage = "(${ChatColor.RED}-${ChatColor.WHITE}) ${player.name}" } } \ No newline at end of file diff --git a/src/main/kotlin/xyz/atnrch/dragon/player/DragonPlayer.kt b/src/main/kotlin/xyz/atnrch/dragon/player/DragonPlayer.kt index 4e452d8..5565793 100644 --- a/src/main/kotlin/xyz/atnrch/dragon/player/DragonPlayer.kt +++ b/src/main/kotlin/xyz/atnrch/dragon/player/DragonPlayer.kt @@ -5,7 +5,6 @@ import org.bukkit.ChatColor import org.bukkit.GameMode import org.bukkit.Material import org.bukkit.inventory.ItemStack -import xyz.atnrch.dragon.GameState import xyz.atnrch.dragon.RunnerDragon import xyz.atnrch.dragon.teams.Team import xyz.haoshoku.nick.api.NickAPI @@ -16,12 +15,10 @@ class DragonPlayer(uuid: UUID) { val player = Bukkit.getPlayer(uuid)!! fun instantiatePlayer() { - if (RunnerDragon.STATE == GameState.WAITING) { - RunnerDragon.instance.worldManager.teleportAtSpawn(player) - updateHeaderFooter() - impulse101() - setTeam(Team.DEFAULT_TEAM) - } + RunnerDragon.instance.worldManager.teleportAtSpawn(player) // really useful? + updateHeaderFooter() + impulse101() + setTeam(Team.DEFAULT_TEAM) } fun updateHeaderFooter() { diff --git a/src/main/kotlin/xyz/atnrch/dragon/tasks/GracePeriodTask.kt b/src/main/kotlin/xyz/atnrch/dragon/tasks/GracePeriodTask.kt index bafcb63..3bcf8c6 100644 --- a/src/main/kotlin/xyz/atnrch/dragon/tasks/GracePeriodTask.kt +++ b/src/main/kotlin/xyz/atnrch/dragon/tasks/GracePeriodTask.kt @@ -11,7 +11,6 @@ class GracePeriodTask : BukkitRunnable() { override fun run() { counter-- - Bukkit.broadcastMessage(counter.toString()) val base = "${ChatColor.GOLD}Activation du PVP dans" when (counter) { 600 -> Bukkit.broadcastMessage("${RunnerDragon.TITLE_MSG} $base ${ChatColor.AQUA}10 ${ChatColor.GOLD}minutes.")