package me.maker56.survivalgames.scoreboard; import me.maker56.survivalgames.game.Game; import me.maker56.survivalgames.game.GameState; import org.bukkit.scoreboard.Score; import org.bukkit.scoreboard.Team; public class CustomScore { private String regex, name, extra; private Team team; private Score score; public CustomScore(Score score, String name, String regex, Team team) { this(score, name, regex, team, null); } public CustomScore(Score score, String name, String regex, Team team, String extra) { this.regex = regex.toLowerCase(); this.name = name; this.team = team; this.score = score; this.extra = extra; } public Score getScore() { return score; } public String getName() { return name; } public String getRegex() { return regex; } public Team getTeam() { return team; } public void update(Game game) { score.setScore(getData(game)); } public int getData(Game game) { int i = -1; switch (regex) { case "%requiredplayers%": i = game.getRequiredPlayers(); break; case "%playing%": i = game.getPlayingUsers(); break; case "%death%": i = game.getDeathAmount(); break; case "%spectators%": i = game.getSpecators().size(); break; } if(i == -1) { if(extra != null) { if(game.getState() == GameState.VOTING && regex.equals("%votecount%")) { i = game.getArena(extra).getVotes(); } } if(regex.equals("%time%")) { switch (game.getState()) { case COOLDOWN: i = game.getCooldownPhrase().getTime(); break; case VOTING: i = game.getVotingPhrase().getTime(); break; case INGAME: i = game.getIngamePhrase().getTime(); break; case DEATHMATCH: i = game.getDeathmatch().getTime(); break; default: break; } } } return i; } }