Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.soki.bunkers.Scoreboard;
- import javafx.scene.media.MediaPlayerBuilder;
- import me.soki.bunkers.Economy.EconomyMGR;
- import me.soki.bunkers.Game.GameMGR;
- import me.soki.bunkers.azazel.tab.Tab;
- import net.minecraft.server.v1_7_R4.*;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- import org.bukkit.scheduler.BukkitTask;
- import org.bukkit.scoreboard.DisplaySlot;
- import org.bukkit.scoreboard.Objective;
- import org.bukkit.scoreboard.Score;
- import org.bukkit.scoreboard.Team;
- import java.util.HashMap;
- import static me.soki.bunkers.Game.PearlCooldown.enderpearlTime;
- import static me.soki.bunkers.Game.PearlCooldown.enderpearlTimer;
- import static me.soki.bunkers.Koth.KothMGR.currentKothTime;
- import static me.soki.bunkers.Main.Main.getPlugin;
- public class PlayerScoreboard {
- public static int gameTime = 0;
- private org.bukkit.scoreboard.Scoreboard sb = Bukkit.getServer().getScoreboardManager().getNewScoreboard();
- private Objective obj = sb.registerNewObjective("title", "dummy");
- private Player p;
- private static HashMap<String, PlayerScoreboard> scoreboards = new HashMap<>();
- private Team red = sb.registerNewTeam("Red");
- private Team yellow = sb.registerNewTeam("Yellow");
- private Team blue = sb.registerNewTeam("Blue");
- private Team green = sb.registerNewTeam("Green");
- public PlayerScoreboard(Player p) {
- sb.clearSlot(DisplaySlot.SIDEBAR);
- sb.clearSlot(DisplaySlot.PLAYER_LIST);
- sb.clearSlot(DisplaySlot.BELOW_NAME);
- obj.setDisplayName(ChatColor.AQUA.toString() + ChatColor.BOLD.toString() + "Bunkers");
- obj.setDisplaySlot(DisplaySlot.SIDEBAR);
- red.setPrefix(ChatColor.RED.toString());
- blue.setPrefix(ChatColor.BLUE.toString());
- yellow.setPrefix(ChatColor.YELLOW.toString());
- green.setPrefix(ChatColor.GREEN.toString());
- red.setCanSeeFriendlyInvisibles(true);
- blue.setCanSeeFriendlyInvisibles(true);
- yellow.setCanSeeFriendlyInvisibles(true);
- green.setCanSeeFriendlyInvisibles(true);
- this.p = p;
- scoreboards.put(p.getName(), this);
- //TAB
- sb.registerNewTeam("wrapperTeam");
- sb.registerNewTeam("bWrapperTeam");
- sb.registerNewTeam("gameTimeTeam");
- sb.registerNewTeam("teamTeam");
- sb.registerNewTeam("dtrTeam");
- sb.registerNewTeam("balanceTeam");
- sb.registerNewTeam("kothTeam");
- sb.registerNewTeam("pearlTeam");
- sb.registerNewTeam("homeTeam");
- Team wrapperTeam = sb.getTeam("wrapperTeam");
- wrapperTeam.addPlayer(Bukkit.getOfflinePlayer("-----------"));
- wrapperTeam.setPrefix(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH.toString() + "------");
- Score score = obj.getScore(Bukkit.getOfflinePlayer("-----------"));
- score.setScore(15); //Integer only!
- Team bWrapperTeam = sb.getTeam("bWrapperTeam");
- bWrapperTeam.addPlayer(Bukkit.getOfflinePlayer("----------"));
- bWrapperTeam.setPrefix(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH.toString() + "-------");
- Score bottomWrapperTeamScore = obj.getScore(Bukkit.getOfflinePlayer("----------"));
- bottomWrapperTeamScore.setScore(1); //Integer only!
- String kothTimeStrMin = String.valueOf(currentKothTime / 60);
- String kothTimeStrSec = String.valueOf(currentKothTime % 60).substring(0, String.valueOf(currentKothTime % 60).indexOf("."));
- String kothTimeStrSecF = kothTimeStrSec.length() == 1 ? "0" + kothTimeStrSec : kothTimeStrSec;
- String kothTimeStr = "0" + kothTimeStrMin.substring(0, kothTimeStrMin.indexOf(".")) +
- ":" + kothTimeStrSecF;
- String gameTimeStrSec = gameTime % 60 < 10 ? "0" + gameTime % 60 : String.valueOf(gameTime % 60);
- String gameTimeStr = (gameTime / 60 >= 10 ? "" : "0") + gameTime / 60 + ":" + gameTimeStrSec;
- String gameTimeStrF = gameTime > 59 ? gameTimeStr + "m" : gameTime + "s";
- String kothTimeStrF = currentKothTime > 60 ? kothTimeStr + "m" : currentKothTime + "s";
- Team gameTimeTeam = sb.getTeam("gameTimeTeam");
- gameTimeTeam.addPlayer(Bukkit.getOfflinePlayer("Game Time: "));
- gameTimeTeam.setPrefix(ChatColor.AQUA.toString());
- gameTimeTeam.setSuffix(ChatColor.RED.toString() + gameTimeStrF);
- Score gameTimeScore = obj.getScore("Game Time: ");
- gameTimeScore.setScore(14); //Integer only!
- if (me.soki.bunkers.Teams.Team.getTeamFromPlayer(p.getName()) != null) {
- me.soki.bunkers.Teams.Team playersTeam = me.soki.bunkers.Teams.Team.getTeamFromPlayer(p.getName());
- Team teamTeam = sb.getTeam("teamTeam");
- teamTeam.addPlayer(Bukkit.getOfflinePlayer("Team: "));
- teamTeam.setPrefix(ChatColor.YELLOW.toString());
- teamTeam.setSuffix(playersTeam.getColor().toString() + playersTeam.getTeamName());
- Score teamTeamScore = obj.getScore("Team: ");
- teamTeamScore.setScore(13); //Integer only!
- Team dtrTeam = sb.getTeam("dtrTeam");
- dtrTeam.addPlayer(Bukkit.getOfflinePlayer("DTR: "));
- dtrTeam.setPrefix(ChatColor.DARK_RED.toString());
- dtrTeam.setSuffix(ChatColor.RED.toString() + playersTeam.getDTR() + ".0");
- Score dtrTeamScore = obj.getScore("DTR: ");
- dtrTeamScore.setScore(12); //Integer only!
- Team balanceTeam = sb.getTeam("balanceTeam");
- balanceTeam.addPlayer(Bukkit.getOfflinePlayer("Balance: "));
- balanceTeam.setPrefix(ChatColor.GREEN.toString());
- balanceTeam.setSuffix(ChatColor.RED.toString() + "$" + EconomyMGR.playerBalances.get(p.getName()));
- Score balanceTeamScore = obj.getScore("Balance: ");
- balanceTeamScore.setScore(10); //Integer only!
- }
- Team kothTeam = sb.getTeam("kothTeam");
- kothTeam.addPlayer(Bukkit.getOfflinePlayer("KOTH: "));
- kothTeam.setPrefix(ChatColor.BLUE.toString());
- kothTeam.setSuffix(ChatColor.RED.toString() + kothTimeStrF);
- Score kothTeamScore = obj.getScore("KOTH: ");
- kothTeamScore.setScore(11); //Integer only!
- if (enderpearlTimer.containsKey(p.getName())) {
- long secondsleft = ((enderpearlTimer.get(p.getName()) / 1000) + enderpearlTime) - (System.currentTimeMillis() / 1000);
- if (secondsleft < 0) {
- sb.resetScores(Bukkit.getOfflinePlayer("Enderpearl: "));
- } else {
- String secondleftStr = String.valueOf(secondsleft);
- String pearlTimerStrF;
- try {
- pearlTimerStrF = secondleftStr.substring(0, secondleftStr.indexOf(".") + 3) + "s";
- } catch (StringIndexOutOfBoundsException e) {
- pearlTimerStrF = secondleftStr + "s";
- }
- sb.getTeam("pearlTeam").setSuffix(ChatColor.RED.toString() + pearlTimerStrF);
- }
- } else {
- sb.resetScores(Bukkit.getOfflinePlayer("Enderpearl: "));
- }
- if (GameMGR.homeTimer.containsKey(p.getName())) {
- long hsecondsleft = ((GameMGR.homeTimer.get(p.getName()) / 1000) + 10) - (System.currentTimeMillis() / 1000);
- if (hsecondsleft < 0) {
- sb.resetScores(Bukkit.getOfflinePlayer("Home: "));
- } else {
- String hsecondleftStr = String.valueOf(hsecondsleft);
- String homeTimerStrF;
- try {
- homeTimerStrF = hsecondleftStr.substring(0, hsecondleftStr.indexOf(".") + 3) + "s";
- } catch (StringIndexOutOfBoundsException e) {
- homeTimerStrF = hsecondleftStr + "s";
- }
- sb.getTeam("homeTeam").setSuffix(ChatColor.RED.toString() + homeTimerStrF);
- }
- } else {
- sb.resetScores(Bukkit.getOfflinePlayer("Home: "));
- }
- enableScoreboard();
- }
- public org.bukkit.scoreboard.Scoreboard getSb() {
- return sb;
- }
- public Objective getObj() {
- return obj;
- }
- public void enableScoreboard() {
- p.setScoreboard(getSb());
- }
- public void startCooldown() {
- long secondsleft = ((enderpearlTimer.get(p.getName()) / 1000) + enderpearlTime) - (System.currentTimeMillis() / 1000);
- if (secondsleft > -1) {
- String secondleftStr = String.valueOf(secondsleft);
- String pearlTimerStrF;
- try {
- pearlTimerStrF = secondleftStr.substring(0, secondleftStr.indexOf(".") + 3) + "s";
- } catch (StringIndexOutOfBoundsException e) {
- pearlTimerStrF = secondleftStr + "s";
- }
- sb.resetScores(Bukkit.getOfflinePlayer("Enderpearl: "));
- Team pearlTeam = sb.getTeam("pearlTeam");
- pearlTeam.addPlayer(Bukkit.getOfflinePlayer("Enderpearl: "));
- pearlTeam.setPrefix(ChatColor.BLUE.toString());
- pearlTeam.setSuffix(ChatColor.RED.toString() + pearlTimerStrF);
- } else {
- sb.resetScores(Bukkit.getOfflinePlayer("Enderpearl: "));
- }
- Score pearlTeamScore = obj.getScore("Enderpearl: ");
- pearlTeamScore.setScore(9); //Integer only!
- }
- public void startHome() {
- if (GameMGR.homeTimer.containsKey(p.getName())) {
- long secondsleft = ((GameMGR.homeTimer.get(p.getName()) / 1000) + 10) - (System.currentTimeMillis() / 1000);
- if (secondsleft > -1) {
- String secondleftStr = String.valueOf(secondsleft);
- String pearlTimerStrF;
- try {
- pearlTimerStrF = secondleftStr.substring(0, secondleftStr.indexOf(".") + 3) + "s";
- } catch (StringIndexOutOfBoundsException e) {
- pearlTimerStrF = secondleftStr + "s";
- }
- sb.resetScores(Bukkit.getOfflinePlayer("Home: "));
- Team homeTeam = sb.getTeam("homeTeam");
- homeTeam.addPlayer(Bukkit.getOfflinePlayer("Home: "));
- homeTeam.setPrefix(ChatColor.BLUE.toString());
- homeTeam.setSuffix(ChatColor.RED.toString() + pearlTimerStrF);
- } else {
- sb.resetScores(Bukkit.getOfflinePlayer("Home: "));
- }
- Score homeTeamScore = obj.getScore("Home: ");
- homeTeamScore.setScore(8); //Integer only!
- }
- }
- public void teamUpdate() {
- if (me.soki.bunkers.Teams.Team.getTeamFromPlayer(p.getName()) != null) {
- me.soki.bunkers.Teams.Team playersTeam = me.soki.bunkers.Teams.Team.getTeamFromPlayer(p.getName());
- sb.getTeam("teamTeam").setSuffix(playersTeam.getColor().toString() + playersTeam.getTeamName());
- sb.getTeam("teamTeam").addPlayer(Bukkit.getOfflinePlayer("Team: "));
- sb.getTeam("teamTeam").setPrefix(ChatColor.YELLOW.toString());
- updateDTR();
- updateBalance();
- Score teamScore = obj.getScore("Team: ");
- sb.resetScores("Team: ");
- teamScore.setScore(13);
- enableScoreboard();
- }
- }
- public void updateGameTime(){
- String gameTimeStrSec = gameTime % 60 < 10 ? "0" + gameTime % 60 : String.valueOf(gameTime % 60);
- String gameTimeStr = (gameTime / 60 >= 10 ? "" : "0") + gameTime / 60 + ":" + gameTimeStrSec;
- String gameTimeStrF = gameTime > 59 ? gameTimeStr + "m" : gameTime + "s";
- Team gameTimeTeam = sb.getTeam("gameTimeTeam");
- gameTimeTeam.addPlayer(Bukkit.getOfflinePlayer("Game Time: "));
- gameTimeTeam.setPrefix(ChatColor.AQUA.toString());
- gameTimeTeam.setSuffix(ChatColor.RED.toString() + gameTimeStrF);
- Score score = obj.getScore("Game Time: ");
- score.setScore(14);
- enableScoreboard();
- }
- public void stopHome() {
- sb.resetScores(Bukkit.getOfflinePlayer("Home: "));
- }
- public static HashMap<String, PlayerScoreboard> getScoreboards() {
- return scoreboards;
- }
- public Player getPlayer() {
- return p;
- }
- public Team getRed() {
- return red;
- }
- public Team getYellow() {
- return yellow;
- }
- public Team getGreen() {
- return green;
- }
- public Team getBlue() {
- return blue;
- }
- public void updateKothTimer(){
- String kothTimeStrMin = String.valueOf(currentKothTime / 60);
- String kothTimeStrSec = String.valueOf(currentKothTime % 60).substring(0, String.valueOf(currentKothTime % 60).indexOf("."));
- String kothTimeStrSecF = kothTimeStrSec.length() == 1 ? "0" + kothTimeStrSec : kothTimeStrSec;
- String kothTimeStr = "0" + kothTimeStrMin.substring(0, kothTimeStrMin.indexOf(".")) +
- ":" + kothTimeStrSecF;
- String kothTimeStrF = currentKothTime > 60 ? kothTimeStr + "m" : currentKothTime + "s";
- Team kothTeam = sb.getTeam("kothTeam");
- kothTeam.addPlayer(Bukkit.getOfflinePlayer("KOTH: "));
- kothTeam.setPrefix(ChatColor.BLUE.toString());
- kothTeam.setSuffix(ChatColor.RED.toString() + kothTimeStrF);
- Score score = obj.getScore("KOTH: ");
- score.setScore(11);
- }
- public void updateBalance(){
- if (me.soki.bunkers.Teams.Team.getTeamFromPlayer(p.getName()) != null) {
- me.soki.bunkers.Teams.Team playersTeam = me.soki.bunkers.Teams.Team.getTeamFromPlayer(p.getName());
- Team balanceTeam = sb.getTeam("balanceTeam");
- balanceTeam.addPlayer(Bukkit.getOfflinePlayer("Balance: "));
- balanceTeam.setPrefix(ChatColor.GREEN.toString());
- balanceTeam.setSuffix(ChatColor.RED.toString() + "$" + EconomyMGR.playerBalances.get(p.getName()));
- Score balanceTeamScore = obj.getScore("Balance: ");
- balanceTeamScore.setScore(10); //Integer only!
- }
- }
- public void updateDTR(){
- if (me.soki.bunkers.Teams.Team.getTeamFromPlayer(p.getName()) != null) {
- me.soki.bunkers.Teams.Team playersTeam = me.soki.bunkers.Teams.Team.getTeamFromPlayer(p.getName());
- sb.getTeam("dtrTeam").addPlayer(Bukkit.getOfflinePlayer("DTR: "));
- sb.getTeam("dtrTeam").setPrefix(ChatColor.DARK_RED.toString());
- sb.getTeam("dtrTeam").setSuffix(ChatColor.RED.toString() + playersTeam.getDTR() + ".0");
- Score dtrScore = obj.getScore("DTR: ");
- dtrScore.setScore(12);
- }
- }
- public static PlayerScoreboard getPlayerScoreboard(String playerName) {
- return scoreboards.get(playerName);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement