Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.aries.practice.manager;
- import me.aries.practice.Core;
- import me.aries.practice.kits.KitType;
- import me.aries.practice.match.Match;
- import me.aries.practice.match.MatchType;
- import me.aries.practice.player.AriesPlayer;
- import me.aries.practice.player.stat.FFAStat;
- import me.aries.practice.state.GameType;
- import me.aries.practice.state.PlayerState;
- import me.aries.practice.util.Reference;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- import org.bukkit.scoreboard.DisplaySlot;
- import org.bukkit.scoreboard.Objective;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.Team;
- import java.text.DecimalFormat;
- import java.util.UUID;
- /**
- * Created by BladianYT
- */
- public class ScoreboardManager
- {
- private Core core = Core.instance;
- private Reference reference = core.getReference();
- private ArenaManager arenaManager = core.getArenaManager();
- private MatchManager matchManager = core.getMatchManager();
- private PlayerManager playerManager = Core.instance.getPlayerManager();
- private final DecimalFormat df = new DecimalFormat("###,##0.###");
- public ScoreboardManager()
- {
- new BukkitRunnable()
- {
- @Override
- public void run()
- {
- for(Player p : Bukkit.getServer().getOnlinePlayers())
- {
- AriesPlayer ariesPlayer = playerManager.getAriesPlayerMap().get(p.getUniqueId());
- updateScoreboard(p, ariesPlayer.getPlayerState(), ariesPlayer);
- }
- }
- }.runTaskTimer(core, 0L, 20L);
- }
- public void createScoreboard(Player p, AriesPlayer ariesPlayer)
- {
- Scoreboard scoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
- Objective obj = scoreboard.registerNewObjective("practice", "dummy");
- obj.setDisplayName("§5Venix Practice");
- obj.setDisplaySlot(DisplaySlot.SIDEBAR);
- p.setScoreboard(scoreboard);
- changeScoreboard(p, PlayerState.LOBBY, ariesPlayer);
- }
- public void changeScoreboard(Player p, PlayerState playerState, AriesPlayer ariesPlayer)
- {
- Scoreboard scoreboard = p.getScoreboard();
- for (Team team : scoreboard.getTeams())
- {
- team.unregister();
- }
- Objective oldObj = scoreboard.getObjective(DisplaySlot.SIDEBAR);
- oldObj.unregister();
- if(scoreboard.getObjective(DisplaySlot.BELOW_NAME) != null)
- {
- scoreboard.getObjective(DisplaySlot.BELOW_NAME).unregister();
- }
- Objective obj = scoreboard.registerNewObjective("practice", "dummy");
- obj.setDisplayName("§5Venix Practice");
- obj.setDisplaySlot(DisplaySlot.SIDEBAR);
- if (playerState == PlayerState.LOBBY)
- {
- Team blank = scoreboard.registerNewTeam(ChatColor.GREEN.toString());
- blank.addEntry("§a");
- obj.getScore("§a").setScore(12);
- Team global = scoreboard.registerNewTeam(ChatColor.YELLOW.toString());
- global.addEntry("§bELO:");
- global.setSuffix(" §f" + ariesPlayer.getGlobal());
- obj.getScore("§bELO:").setScore(8);
- Team blank3 = scoreboard.registerNewTeam(ChatColor.BOLD.toString());
- blank3.addEntry("§3");
- obj.getScore("§3").setScore(7);
- Team lobby = scoreboard.registerNewTeam(ChatColor.WHITE.toString());
- lobby.addEntry("§bLobby:");
- lobby.setSuffix(" §f" + playerManager.getLobby().size());
- obj.getScore("§bLobby:").setScore(5);
- Team ingame = scoreboard.registerNewTeam(ChatColor.DARK_BLUE.toString());
- ingame.addEntry("§bGame:");
- ingame.setSuffix(" §f" + playerManager.getGame().size());
- obj.getScore("§bGame:").setScore(4);
- Team spectators = scoreboard.registerNewTeam(ChatColor.DARK_GREEN.toString());
- spectators.addEntry("§bSpectate:");
- spectators.setSuffix(" §f" + playerManager.getSpectators().size());
- obj.getScore("§bSpectate:").setScore(3);
- Team blank2 = scoreboard.registerNewTeam(ChatColor.DARK_RED.toString());
- blank2.addEntry("§d");
- obj.getScore("§d").setScore(2);
- Team website = scoreboard.registerNewTeam(ChatColor.DARK_PURPLE.toString());
- website.addEntry("§5eu.");
- website.setSuffix("venix.rip");
- obj.getScore("§5eu.").setScore(1);
- }
- if (playerState == PlayerState.QUEUE)
- {
- Match match = ariesPlayer.getMatch();
- if (match.getMatchType() == MatchType.DAMAGE)
- {
- Team blank = scoreboard.registerNewTeam(ChatColor.GREEN.toString());
- blank.addEntry("§a");
- obj.getScore("§a").setScore(12);
- Team server = scoreboard.registerNewTeam(ChatColor.LIGHT_PURPLE.toString());
- server.addEntry("§8" + reference.ARROW + "§3");
- server.setSuffix(" Queue");
- obj.getScore("§8" + reference.ARROW + "§3").setScore(6);
- Team kit = scoreboard.registerNewTeam(ChatColor.WHITE.toString());
- kit.addEntry("§bKit: §f");
- kit.setSuffix(match.getKit().name());
- obj.getScore("§bKit: §f").setScore(5);
- Team game = scoreboard.registerNewTeam(ChatColor.DARK_BLUE.toString());
- game.addEntry("§bGame:");
- game.setSuffix(" §f" + arenaManager.getActiveDamageArenas().get(match.getKit()));
- obj.getScore("§bGame:").setScore(4);
- Team waiting = scoreboard.registerNewTeam(ChatColor.RESET.toString());
- waiting.addEntry("§bWaiting:");
- waiting.setSuffix(" §f" + matchManager.getDamageQueue().get(match.getKit()).size());
- obj.getScore("§bWaiting:").setScore(3);
- Team blank2 = scoreboard.registerNewTeam(ChatColor.DARK_RED.toString());
- blank2.addEntry("§d");
- obj.getScore("§d").setScore(2);
- Team website = scoreboard.registerNewTeam(ChatColor.DARK_PURPLE.toString());
- website.addEntry("§5eu.");
- website.setSuffix("venix.rip");
- obj.getScore("§5eu.").setScore(1);
- }
- else
- {
- if(match.isRanked())
- {
- Team blank = scoreboard.registerNewTeam(ChatColor.GREEN.toString());
- blank.addEntry("§a");
- obj.getScore("§a").setScore(13);
- Team kit = scoreboard.registerNewTeam(ChatColor.BLACK.toString());
- kit.addEntry("§bKit: §f");
- kit.setSuffix(match.getKit().name());
- obj.getScore("§bKit: §f").setScore(6);
- Team game = scoreboard.registerNewTeam(ChatColor.DARK_BLUE.toString());
- game.addEntry("§bGame:");
- game.setSuffix(" §f" + arenaManager.getActiveRankedArenas().get(match.getKit()));
- obj.getScore("§bGame:").setScore(5);
- Team waiting = scoreboard.registerNewTeam(ChatColor.RESET.toString());
- waiting.addEntry("§bWaiting:");
- waiting.setSuffix(" §f" + matchManager.getRankedQueue().get(match.getKit()).size());
- obj.getScore("§bWaiting:").setScore(4);
- Team elo = scoreboard.registerNewTeam(ChatColor.WHITE.toString());
- elo.addEntry("§bELO:");
- elo.setSuffix(" §f" + ariesPlayer.getStats1v1().get(match.getKit()).getElo());
- obj.getScore("§bELO:").setScore(3);
- Team blank2 = scoreboard.registerNewTeam(ChatColor.DARK_RED.toString());
- blank2.addEntry("§d");
- obj.getScore("§d").setScore(2);
- Team website = scoreboard.registerNewTeam(ChatColor.DARK_PURPLE.toString());
- website.addEntry("§5eu.");
- website.setSuffix("venix.rip");
- obj.getScore("§5eu.").setScore(1);
- }
- else
- {
- Team blank = scoreboard.registerNewTeam(ChatColor.GREEN.toString());
- blank.addEntry("§a");
- obj.getScore("§a").setScore(12);
- Team kit = scoreboard.registerNewTeam(ChatColor.WHITE.toString());
- kit.addEntry("§bKit: §f");
- kit.setSuffix(match.getKit().name());
- obj.getScore("§bKit: §f").setScore(5);
- Team game = scoreboard.registerNewTeam(ChatColor.DARK_BLUE.toString());
- game.addEntry("§bGame:");
- game.setSuffix(" §f" + arenaManager.getActiveUnrankedArenas().get(match.getKit()));
- obj.getScore("§bGame:").setScore(4);
- Team waiting = scoreboard.registerNewTeam(ChatColor.RESET.toString());
- waiting.addEntry("§bWaiting:");
- waiting.setSuffix(" §f" + matchManager.getUnrankedQueue().get(match.getKit()).size());
- obj.getScore("§bWaiting:").setScore(3);
- Team blank2 = scoreboard.registerNewTeam(ChatColor.DARK_RED.toString());
- blank2.addEntry("§d");
- obj.getScore("§d").setScore(2);
- Team website = scoreboard.registerNewTeam(ChatColor.DARK_PURPLE.toString());
- website.addEntry("§5eu.");
- website.setSuffix("venix.rip");
- obj.getScore("§5eu.").setScore(1);
- }
- }
- }
- if (playerState == PlayerState.INGAME)
- {
- if(ariesPlayer.getGameType() == GameType.FFA)
- {
- FFAStat ffaStat = ariesPlayer.getFfaStat();
- Team blank = scoreboard.registerNewTeam(ChatColor.GOLD.toString());
- blank.addEntry("§a");
- obj.getScore("§a").setScore(12);
- Team server = scoreboard.registerNewTeam(ChatColor.BOLD.toString());
- server.addEntry("§8" + reference.ARROW + "§3 FFA");
- obj.getScore("§8" + reference.ARROW + "§3 FFA").setScore(9);
- Team playing = scoreboard.registerNewTeam(ChatColor.LIGHT_PURPLE.toString());
- playing.addEntry("§bPlaying:");
- playing.setSuffix(" §f" + arenaManager.getArenaFFA().getPlayers().size());
- obj.getScore("§bPlaying:").setScore(8);
- Team blank5 = scoreboard.registerNewTeam(ChatColor.RESET.toString());
- blank5.addEntry("§4");
- obj.getScore("§4").setScore(7);
- Team time = scoreboard.registerNewTeam(ChatColor.MAGIC.toString());
- time.addEntry("§bKills:");
- time.setSuffix(" §f" + ffaStat.getKills());
- obj.getScore("§bKills:").setScore(6);
- Team kit = scoreboard.registerNewTeam(ChatColor.YELLOW.toString());
- kit.addEntry("§cDeaths:");
- kit.setSuffix(" §f" + ffaStat.getDeaths());
- obj.getScore("§cDeaths:").setScore(5);
- Team streak = scoreboard.registerNewTeam(ChatColor.ITALIC.toString());
- streak.addEntry("§aStreak:");
- streak.setSuffix(" §f" + ffaStat.getStreak());
- obj.getScore("§aStreak:").setScore(4);
- Team highestKS = scoreboard.registerNewTeam(ChatColor.AQUA.toString());
- highestKS.addEntry("§aHighest KS:");
- highestKS.setSuffix(" §f" + df.format(ffaStat.getHighestKS()));
- obj.getScore("§aHighest KS:").setScore(3);
- Team blank2 = scoreboard.registerNewTeam(ChatColor.BLUE.toString());
- blank2.addEntry("§d");
- obj.getScore("§d").setScore(2);
- Team website = scoreboard.registerNewTeam(ChatColor.DARK_PURPLE.toString());
- website.addEntry("§5eu.");
- website.setSuffix("venix.rip");
- obj.getScore("§5eu.").setScore(1);
- Objective healthName = scoreboard.registerNewObjective("h1", "health");
- healthName.setDisplayName(ChatColor.DARK_RED + "❤");
- healthName.setDisplaySlot(DisplaySlot.BELOW_NAME);
- }
- else if(ariesPlayer.getGameType() == GameType.ARENA)
- {
- Match match = ariesPlayer.getMatch();
- Team blank = scoreboard.registerNewTeam(ChatColor.GOLD.toString());
- blank.addEntry("§a");
- obj.getScore("§a").setScore(13);
- Team time = scoreboard.registerNewTeam(ChatColor.MAGIC.toString());
- time.addEntry("§bTime:");
- time.setSuffix(" §f" + match.getFormatTime());
- obj.getScore("§bTime:").setScore(8);
- Team blank4 = scoreboard.registerNewTeam(ChatColor.RESET.toString());
- blank4.addEntry("§l");
- obj.getScore("§l").setScore(7);
- Team blank6 = scoreboard.registerNewTeam(ChatColor.WHITE.toString());
- blank6.addEntry("§bOpponent: ");
- obj.getScore("§bOpponent: ").setScore(6);
- UUID opponentUUID;
- if (match.getPlayer().equals(p.getUniqueId()))
- {
- opponentUUID = match.getOpponent();
- }
- else
- {
- opponentUUID = match.getPlayer();
- }
- String opponentName = Bukkit.getPlayer(opponentUUID).getName();
- Team oName = scoreboard.registerNewTeam(ChatColor.DARK_GRAY.toString());
- oName.addEntry(opponentName);
- obj.getScore(opponentName).setScore(5);
- Team blank2 = scoreboard.registerNewTeam(ChatColor.BLUE.toString());
- blank2.addEntry("§d");
- obj.getScore("§d").setScore(4);
- Team kit = scoreboard.registerNewTeam(ChatColor.AQUA.toString());
- kit.addEntry("§bKit: §f");
- kit.setSuffix(match.getKit().name());
- obj.getScore("§bKit: §f").setScore(3);
- Team blank5 = scoreboard.registerNewTeam(ChatColor.DARK_GREEN.toString());
- blank5.addEntry("§b");
- obj.getScore("§b").setScore(2);
- Team website = scoreboard.registerNewTeam(ChatColor.DARK_PURPLE.toString());
- website.addEntry("§5eu.");
- website.setSuffix("venix.rip");
- obj.getScore("§5eu.").setScore(1);
- if (match.getKit().type() == KitType.BUILD || match.getKit().type() == KitType.CAVE)
- {
- if (match.getMatchType() == MatchType.DAMAGE)
- {
- Objective healthName = scoreboard.registerNewObjective("h1", "dummy");
- healthName.setDisplayName(ChatColor.DARK_RED + "❤");
- healthName.setDisplaySlot(DisplaySlot.BELOW_NAME);
- }
- else
- {
- Objective healthName = scoreboard.registerNewObjective("h1", "health");
- healthName.setDisplayName(ChatColor.DARK_RED + "❤");
- healthName.setDisplaySlot(DisplaySlot.BELOW_NAME);
- }
- }
- }
- }
- if (playerState == PlayerState.SPECTATOR)
- {
- Team blank = scoreboard.registerNewTeam(ChatColor.GREEN.toString());
- blank.addEntry("§a");
- obj.getScore("§a").setScore(11);
- Team server = scoreboard.registerNewTeam(ChatColor.LIGHT_PURPLE.toString());
- server.addEntry("§bSpectating:");
- obj.getScore("§bSpectating:").setScore(5);
- Team blank4 = scoreboard.registerNewTeam(ChatColor.RESET.toString());
- blank4.addEntry("§b");
- obj.getScore("§b").setScore(4);
- Team lobby = scoreboard.registerNewTeam(ChatColor.WHITE.toString());
- lobby.addEntry(ariesPlayer.getSpectating());
- obj.getScore(ariesPlayer.getSpectating()).setScore(3);
- Team blank2 = scoreboard.registerNewTeam(ChatColor.DARK_RED.toString());
- blank2.addEntry("§d");
- obj.getScore("§d").setScore(2);
- Team website = scoreboard.registerNewTeam(ChatColor.DARK_PURPLE.toString());
- website.addEntry("§5eu.");
- website.setSuffix("venix.rip");
- obj.getScore("§5eu.").setScore(1);
- }
- if (playerState == PlayerState.EDITOR)
- {
- Team blank = scoreboard.registerNewTeam(ChatColor.GREEN.toString());
- blank.addEntry("§a");
- obj.getScore("§a").setScore(10);
- Team lobby = scoreboard.registerNewTeam(ChatColor.WHITE.toString());
- lobby.addEntry("§bKit: §f");
- lobby.setSuffix(ariesPlayer.getKitEditing().name());
- obj.getScore("§bKit: §f").setScore(3);
- Team blank2 = scoreboard.registerNewTeam(ChatColor.DARK_RED.toString());
- blank2.addEntry("§d");
- obj.getScore("§d").setScore(2);
- Team website = scoreboard.registerNewTeam(ChatColor.DARK_PURPLE.toString());
- website.addEntry("§5eu.");
- website.setSuffix("venix.rip");
- obj.getScore("§5eu.").setScore(1);
- }
- }
- public void updateScoreboard(Player p, PlayerState playerState, AriesPlayer ariesPlayer)
- {
- Scoreboard scoreboard = p.getScoreboard();
- if (playerState == PlayerState.LOBBY)
- {
- Team b = scoreboard.getTeam(ChatColor.WHITE.toString());
- b.setSuffix("§f " + playerManager.getLobby().size());
- Team d = scoreboard.getTeam(ChatColor.DARK_BLUE.toString());
- d.setSuffix("§f " + playerManager.getGame().size());
- Team s = scoreboard.getTeam(ChatColor.DARK_GREEN.toString());
- s.setSuffix("§f " + playerManager.getSpectators().size());
- }
- if (playerState == PlayerState.QUEUE)
- {
- Match match = ariesPlayer.getMatch();
- if (match.getMatchType() == MatchType.DAMAGE)
- {
- Team pl = scoreboard.getTeam(ChatColor.DARK_BLUE.toString());
- pl.setSuffix(" §f" + arenaManager.getActiveDamageArenas().get(match.getKit()));
- Team w = scoreboard.getTeam(ChatColor.RESET.toString());
- w.setSuffix(" §f" + matchManager.getDamageQueue().get(match.getKit()).size());
- }
- else
- {
- if(match.isRanked())
- {
- Team pl = scoreboard.getTeam(ChatColor.DARK_BLUE.toString());
- pl.setSuffix(" §f" + arenaManager.getActiveRankedArenas().get(match.getKit()));
- Team w = scoreboard.getTeam(ChatColor.RESET.toString());
- w.setSuffix(" §f" + matchManager.getRankedQueue().get(match.getKit()).size());
- }
- else
- {
- Team pl = scoreboard.getTeam(ChatColor.DARK_BLUE.toString());
- pl.setSuffix(" §f" + arenaManager.getActiveUnrankedArenas().get(match.getKit()));
- Team w = scoreboard.getTeam(ChatColor.RESET.toString());
- w.setSuffix(" §f" + matchManager.getUnrankedQueue().get(match.getKit()).size());
- }
- }
- }
- if (playerState == PlayerState.INGAME)
- {
- if (ariesPlayer.getGameType() == GameType.ARENA)
- {
- Match match = ariesPlayer.getMatch();
- Team pl = scoreboard.getTeam(ChatColor.MAGIC.toString());
- pl.setSuffix("§f " + match.getFormatTime());
- if (match.getMatchType() == MatchType.DAMAGE)
- {
- double healthD = match.getDamage().get(p.getUniqueId());
- int health = (int) healthD;
- //scoreboard.getObjective(DisplaySlot.BELOW_NAME).setDisplayName(String.valueOf(health) + "§4❤");
- }
- return;
- }
- if (ariesPlayer.getGameType() == GameType.FFA)
- {
- FFAStat ffaStat = ariesPlayer.getFfaStat();
- Team py = scoreboard.getTeam(ChatColor.LIGHT_PURPLE.toString());
- py.setSuffix(" §f" + arenaManager.getArenaFFA().getPlayers().size());
- Team pl = scoreboard.getTeam(ChatColor.MAGIC.toString());
- pl.setSuffix(" §f" + ffaStat.getKills());
- Team de = scoreboard.getTeam(ChatColor.YELLOW.toString());
- de.setSuffix(" §f" + ffaStat.getDeaths());
- Team st = scoreboard.getTeam(ChatColor.ITALIC.toString());
- st.setSuffix(" §f" + ffaStat.getStreak());
- Team hk = scoreboard.getTeam(ChatColor.AQUA.toString());
- hk.setSuffix(" §f" + ffaStat.getHighestKS());
- }
- }
- if (playerState == PlayerState.SPECTATOR)
- {
- /*Objective objective = scoreboard.getObjective(DisplaySlot.SIDEBAR);
- Team pl = scoreboard.getTeam(ChatColor.WHITE.toString());
- scoreboard.resetScores(objective.getScore((String) pl.getEntries().toArray()[0]).getEntry());
- pl.addEntry(ariesPlayer.getName());
- objective.getScore(ariesPlayer.getSpectating()).setScore(3);*/
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement