use of pl.plajer.villagedefense3.arena.ArenaState in project Village_Defense by Plajer.
the class SignManager method updateSignScheduler.
private void updateSignScheduler() {
Bukkit.getScheduler().runTaskTimer(plugin, () -> {
for (Sign s : loadedSigns.keySet()) {
Arena arena = loadedSigns.get(s);
ArenaState arenaState;
if (arena == null) {
arenaState = ArenaState.WAITING_FOR_PLAYERS;
} else {
arenaState = arena.getArenaState();
}
s.setLine(0, ChatColor.translateAlternateColorCodes('&', LanguageManager.getLanguageFile().getStringList("Signs.Lines").get(0)));
if (arena.getPlayers().size() == arena.getMaximumPlayers()) {
s.setLine(1, ChatColor.translateAlternateColorCodes('&', LanguageManager.getLanguageFile().getStringList("Signs.Lines").get(1).replaceAll("%state%", ChatManager.colorMessage("Signs.Game-States.Full-Game"))));
} else {
s.setLine(1, ChatColor.translateAlternateColorCodes('&', LanguageManager.getLanguageFile().getStringList("Signs.Lines").get(1).replaceAll("%state%", gameStateToString.get(arenaState))));
}
s.setLine(2, ChatColor.translateAlternateColorCodes('&', LanguageManager.getLanguageFile().getStringList("Signs.Lines").get(2).replaceAll("%mapname%", arena.getMapName())));
s.setLine(3, ChatColor.translateAlternateColorCodes('&', LanguageManager.getLanguageFile().getStringList("Signs.Lines").get(3).replaceAll("%maxplayers%", String.valueOf(arena.getMaximumPlayers())).replaceAll("%playersize%", String.valueOf(arena.getPlayers().size()))));
s.update();
}
}, 10, 10);
}
use of pl.plajer.villagedefense3.arena.ArenaState in project Village_Defense by Plajer.
the class ArenaUtils method updateScoreboard.
public static void updateScoreboard(Arena arena) {
if (arena.getPlayers().size() == 0)
return;
for (Player p : arena.getPlayers()) {
User user = UserManager.getUser(p.getUniqueId());
if (user.getScoreboard().getObjective("vd_state_0") == null) {
for (ArenaState state : ArenaState.values()) {
user.getScoreboard().registerNewObjective("vd_state_" + state.ordinal(), "dummy");
}
// fighting stage of IN_GAME state
user.getScoreboard().registerNewObjective("vd_state_2F", "dummy");
}
if (arena.getArenaState() == ArenaState.ENDING) {
user.removeScoreboard();
return;
}
Objective gameObjective;
if (arena.getArenaState() == ArenaState.IN_GAME) {
gameObjective = user.getScoreboard().getObjective("vd_state_" + arena.getArenaState().ordinal() + (arena.isFighting() ? "F" : ""));
} else {
gameObjective = user.getScoreboard().getObjective("vd_state_" + arena.getArenaState().ordinal());
}
if (gameObjective == null)
return;
gameObjective.setDisplayName(ChatManager.colorMessage("Scoreboard.Header"));
gameObjective.setDisplaySlot(DisplaySlot.SIDEBAR);
switch(arena.getArenaState()) {
case WAITING_FOR_PLAYERS:
Score playersTotal1 = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Players")));
playersTotal1.setScore(arena.getPlayers().size());
Score neededPlayers2 = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Minimum-Players")));
neededPlayers2.setScore(arena.getMinimumPlayers());
break;
case STARTING:
Score timer = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Starting-In")));
timer.setScore(arena.getTimer());
Score playersTotal = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Players")));
playersTotal.setScore(arena.getPlayers().size());
Score neededPlayers = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Minimum-Players")));
neededPlayers.setScore(arena.getMinimumPlayers());
break;
case IN_GAME:
Score playersLeft = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Players-Left")));
playersLeft.setScore(arena.getPlayersLeft().size());
Score villagersLeft = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Villagers-Left")));
villagersLeft.setScore(arena.getVillagers().size());
Score orbs = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Orbs")));
orbs.setScore(user.getInt("orbs"));
if (arena.isFighting()) {
Score zombiesLeft = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Zombies-Left")));
zombiesLeft.setScore(arena.getZombiesLeft());
} else {
Score nextWaveIn = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Next-Wave-In")));
nextWaveIn.setScore(arena.getTimer());
}
Score rottenFlesh = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Rotten-Flesh")));
rottenFlesh.setScore(arena.getRottenFlesh());
break;
case RESTARTING:
break;
default:
arena.setArenaState(ArenaState.WAITING_FOR_PLAYERS);
break;
}
Score empty = gameObjective.getScore("");
empty.setScore(-1);
Score footer = gameObjective.getScore(ChatManager.colorMessage("Scoreboard.Footer"));
footer.setScore(-2);
user.setScoreboard(user.getScoreboard());
}
}
Aggregations