From 304a51de04c56422b41df9f0328d56434b48cf4b Mon Sep 17 00:00:00 2001 From: Sarah Date: Tue, 14 Jul 2015 05:44:58 +0200 Subject: [PATCH] Improving TeamSurvivalGames Scoreboard. --- .../survivalgames/TeamSurvivalGames.java | 59 ++++++++++++------- 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java index ec709081f..e2dbcbbb7 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java @@ -3,6 +3,9 @@ package nautilus.game.arcade.game.games.survivalgames; import java.util.ArrayList; import java.util.List; +import mineplex.core.common.util.C; +import mineplex.core.common.util.UtilTime; +import mineplex.core.common.util.UtilTime.TimeUnit; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; import nautilus.game.arcade.ArcadeManager; @@ -116,35 +119,51 @@ public class TeamSurvivalGames extends SurvivalGames @EventHandler public void ScoreboardUpdate(UpdateEvent event) { - if (event != null && event.getType() != UpdateType.FAST) + if (event.getType() != UpdateType.FAST) + return; + + if (GetTeamList().isEmpty()) return; Scoreboard.Reset(); - for (GameTeam team : this.GetTeamList()) + Scoreboard.WriteBlank(); + + Scoreboard.Write(C.cGreen + C.Bold + "Time"); + Scoreboard.Write(UtilTime.convertString(this.getSecondsSinceStart() * 1000, 0, TimeUnit.FIT)); + + Scoreboard.WriteBlank(); + + Scoreboard.Write(C.cYellow + C.Bold + "Teams"); + if (GetTeamList().size() > 7) { - //Display Individual Players - if (this.GetPlayers(true).size() < 13) + Scoreboard.Write("" + GetTeamList().size()); + } + else + { + for (GameTeam team : GetTeamList()) { - if (!team.IsTeamAlive()) - continue; - - Scoreboard.WriteBlank(); - - for (Player player : team.GetPlayers(true)) - { - Scoreboard.Write(team.GetColor() + player.getName()); - } + Scoreboard.Write(C.cWhite + team.GetColor() + team.GetName()); } + } - //Display Players Alive - else - { - Scoreboard.WriteBlank(); + Scoreboard.WriteBlank(); - Scoreboard.Write(team.GetColor() + team.GetName()); - Scoreboard.Write(team.GetPlayers(true).size() + "" + team.GetColor() + " Alive"); - } + if (this.getChestRefillTime() > 0 && this.getDeathMatchTime() > 60) + { + Scoreboard.Write(C.cGold + C.Bold + "Chest Refill"); + Scoreboard.Write(UtilTime.convertString(this.getChestRefillTime() * 1000, 0, TimeUnit.FIT)); + } + else if (this.getDeathMatchTime() > 0) + { + Scoreboard.Write(C.cRed + C.Bold + "Deathmatch"); + Scoreboard.Write(UtilTime.convertString( + Math.min(this.getDeathMatchTime(), this.isDeathMatchTeleported() ? 10 : this.getDeathMatchTime()) * 1000, 0, TimeUnit.FIT)); + } + else + { + Scoreboard.Write(C.cRed + C.Bold + "Game End"); + Scoreboard.Write(UtilTime.convertString(Math.max(0, this.getGameEndTime()) * 1000, 0, TimeUnit.FIT)); } Scoreboard.Draw();