Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.activated.uhc.layouts;
- import me.activated.uhc.utils.board.Board;
- import me.activated.uhc.utils.board.BoardAdapter;
- import me.activated.uhc.commands.staff.StaffChat;
- import me.activated.uhc.configuration.ConfigManager;
- import me.activated.uhc.enums.GameState;
- import me.activated.uhc.files.ConfigFile;
- import me.activated.uhc.handlers.freeze.FreezeHandler;
- import me.activated.uhc.handlers.scenariohandlers.NoCleanHandler;
- import me.activated.uhc.handlers.uhcevents.DeathMessageHandler;
- import me.activated.uhc.managers.GameManager;
- import me.activated.uhc.managers.PlayerManager;
- import me.activated.uhc.managers.TeamManager;
- import me.activated.uhc.utils.AutoStart;
- import me.activated.uhc.practice.PracticeManager;
- import me.activated.uhc.scenario.Scenario;
- import me.activated.uhc.scenario.ScenarioManager;
- import me.activated.uhc.team.Team;
- import me.activated.uhc.utils.Lag;
- import me.activated.uhc.utils.UHCUtils;
- import me.activated.uhc.utils.chat.Color;
- import me.activated.uhc.utils.player.Profile;
- import net.minecraft.util.org.apache.commons.lang3.StringEscapeUtils;
- import org.bukkit.Bukkit;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.entity.Player;
- import org.bukkit.scoreboard.Scoreboard;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.UUID;
- public class BoardLayout implements BoardAdapter {
- @Override
- public String getTitle(Player player) {
- String line = StringEscapeUtils.unescapeJava("\u2503");
- String fromConfig = ConfigFile.getInstance().getUnColoredString("scoreboard_title");
- fromConfig = fromConfig.replace("<I>", line);
- return Color.translate(fromConfig);
- }
- @Override
- public List<String> getScoreboard(Player player, Board scoreboard) {
- List<String> board = new ArrayList<>();
- GameState gamestate = GameManager.getInstance().getGameState();
- Profile profile = Profile.getByPlayer(player);
- board.add("&7&m---------------------");
- if (FreezeHandler.getInstance().isFrozen(player)) {
- board.add("&d&lYou have been frozen");
- board.add(" ");
- board.add("&fPlease follow the");
- board.add("&finstructions!");
- board.add(" ");
- board.add("&dTeamspeak&7: &f" + ConfigFile.getInstance().getString("teamspeak_ip"));
- board.add("&7&m---------------------");
- List<String> toReturn = new ArrayList<>();
- for (String list : board) {
- toReturn.add(Color.translate(list));
- }
- return toReturn;
- }
- if (PracticeManager.getInstance().isInPractice(player)) {
- board.add("&aOnline&7: &d" + UHCUtils.getOnlinePlayersSize());
- board.add("&bIn Practice&7: &d" + PracticeManager.getInstance().getPlayersInPractice() + "/" + PracticeManager.getInstance().getMaxPlayers());
- board.add(" ");
- board.add("&bKillStreak&7: &d" + DeathMessageHandler.getkillsprac(player.getUniqueId()));
- if (AutoStart.getInstance().isActive()) {
- board.add("&aStarting in " + UHCUtils.getFormatTime(AutoStart.getInstance().getRemaining()) + "..");
- }
- board.add("&7&m---------------------");
- List<String> toReturn = new ArrayList<>();
- for (String list : board) {
- toReturn.add(Color.translate(list));
- }
- return toReturn;
- }
- if (PlayerManager.getInstance().isStaffSpectating(player)){
- double tps = Double.valueOf(String.format("%.2f", Lag.getTPS()));
- if (StaffChat.instaffchat.contains(player.getUniqueId())) {
- board.add("&b&lStaff Mode");
- board.add(" &7* &fTPS&7: &d" + tps);
- if (gamestate == GameState.LOBBY) {
- board.add(" &7* &fBorder&7: &d" + ConfigManager.getBorderSize().getAmount());
- }
- board.add(" &7* &fStaff Alerts&7: " + (profile.isStaffAlerts() ? "&aON" : "&cOFF"));
- board.add(" ยง7* &fStaff Chat&7: " + (profile.isStaffchat() ? "&aON" : "&cOFF"));
- board.add("&7&m---------------------");
- }
- if (gamestate == GameState.LOBBY) {
- board.add("&bOnline&7: &d" + UHCUtils.getOnlinePlayersSize());
- board.add("&bGame Type&7: &d" + GameManager.getInstance().getTeamType());
- if (PracticeManager.getInstance().isPracticeEnabled()) {
- board.add("&bIn Practice&7: &d" + PracticeManager.getInstance().getPlayersInPractice() + "/" + PracticeManager.getInstance().getMaxPlayers());
- }
- if (!GameManager.getInstance().getHost().equalsIgnoreCase("")) {
- board.add("&bHost&7: &b" + GameManager.getInstance().getHost());
- }
- if (AutoStart.getInstance().isActive()) {
- board.add("&aStarting in " + UHCUtils.getFormatTime(AutoStart.getInstance().getRemaining()) + "..");
- }
- if (!PlayerManager.getInstance().isStaffSpectating(player)) {
- if (TeamManager.getInstance().getTeam(player) == null) {
- if (ScenarioManager.getInstance().getScenariosInventory().getItem(0) != null) {
- board.add("");
- board.add("&c&lScenarios&7:");
- for (Scenario scenario : ScenarioManager.getInstance().getScenarios().values()) {
- if (scenario.isEnabled()) {
- board.add(" &7- &e" + scenario.getName());
- }
- }
- }
- } else {
- Team team = TeamManager.getInstance().getTeam(player);
- int size = team.getSize();
- board.add("");
- board.add("&dTeam &7[" + size + (size > 1 ? " players" : " player") + "]");
- board.add("&d&l* &cLeader&7: &b" + team.getOwner().getName());
- if (size > 1)
- {
- board.add("&dMembers&7:");
- for (UUID names : team.getPlayers()) {
- OfflinePlayer member = Bukkit.getOfflinePlayer(names);
- if (!member.getName().equalsIgnoreCase(team.getOwner().getName())) {
- board.add("&7- " + member.getName());
- }
- }
- }
- }
- }
- }
- if (gamestate == GameState.SCATTERING) {
- if (GameManager.getInstance().getStartSeconds() == 0) {
- board.add("&f&lScattering players");
- if (GameManager.getInstance().getScatterFinish() > 0) {
- board.add("&fTime left&7: &d"
- + UHCUtils.getFormatTime(GameManager.getInstance().getScatterFinish()));
- } else {
- board.add("&fTime left&7: &d" + UHCUtils.getFormatTime(0));
- }
- board.add(" ");
- board.add("&fScattering&7: &d" + GameManager.getInstance().getScatter().size() + " players");
- } else {
- board.add("&fEveryone scattered");
- board.add(
- "&fStarting in&7: &d" + UHCUtils.getFormatTime(GameManager.getInstance().getStartSeconds()));
- board.add(" ");
- }
- board.add("&fScattered&7: &d" + PlayerManager.getInstance().getScatteredPlayers() + " players");
- if (ConfigFile.getInstance().getBoolean("show_ip_scoreboard")) {
- board.add(" ");
- board.add("&e" + ConfigFile.getInstance().getString("server_ip"));
- }
- }
- if (gamestate == GameState.INGAME) {
- if (GameManager.getInstance().getWinner() == "") {
- board.add("&fGame Time&7: &d"
- + UHCUtils.getFormatTime(GameManager.getInstance().getGameRunnable().getSeconds()));
- board.add("&fRemaining&7: &d" + PlayerManager.getInstance().getAlivePlayers() + "/"
- + PlayerManager.getInstance().getStartCount());
- if (PlayerManager.getInstance().isSpectating(player)) {
- board.add(" ");
- board.add("&fBorder&7: &d" + ConfigManager.getBorderSize().getAmount() + " " + this.getBorderInfo());
- board.add("&fSpec radius&7: &d" + profile.getSpecRadius());
- }
- if (ConfigFile.getInstance().getBoolean("show_events_on_scoreboard") && !PlayerManager.getInstance().isSpectating(player) && GameManager.getInstance().getGameRunnable().isToShowEvents()) {
- board.add(" ");
- }
- if (!PlayerManager.getInstance().isSpectating(player)) {
- board.add("&fKills&7: &d" + profile.getUhcKills());
- if (TeamManager.getInstance().isTeamsEnabled()) {
- board.add("&fTeam kills&7: &d" + TeamManager.getInstance().getTeam(player).getKills());
- }
- if (ConfigFile.getInstance().getBoolean("show_events_on_scoreboard") && GameManager.getInstance().getGameRunnable().isToShowEvents()) {
- board.add(" ");
- board.add("&6Next Events");
- if (GameManager.getInstance().getGameRunnable().isToShowHealTime()) {
- board.add("&3Heal Time&7: &e" + GameManager.getInstance().getGameRunnable().getHealTime());
- }
- if (GameManager.getInstance().getGameRunnable().isToShowGracePeriodTime()) {
- board.add("&3Grace Period&7: &e" + GameManager.getInstance().getGameRunnable().getGracePeriodTime());
- }
- board.add(" ");
- }
- board.add("&fBorder&7: &d" + ConfigManager.getBorderSize().getAmount() + " " + this.getBorderInfo());
- if (NoCleanHandler.getInstance().isNoClean(player)) {
- board.add("&bNoClean&7: &d" + UHCUtils.formatMilisecondsToSeconds(
- NoCleanHandler.getInstance().getMillisecondsLeft(player)) + "s");
- }
- }
- if (ConfigFile.getInstance().getBoolean("show_ip_scoreboard")) {
- board.add(" ");
- board.add("&e" + ConfigFile.getInstance().getString("server_ip"));
- }
- } else {
- String winner = GameManager.getInstance().getWinner();
- if (TeamManager.getInstance().isTeamsEnabled()) {
- board.add("&b&lGame Finished!");
- board.add("&f");
- board.add("&fWinners&7:");
- for (UUID uuid : TeamManager.getInstance().getLastTeam().getPlayers()) {
- OfflinePlayer winners = Bukkit.getOfflinePlayer(uuid);
- board.add(" &7* &d" + winners.getName());
- }
- } else {
- board.add("&b&lGame Finished!");
- board.add("&f");
- board.add("&fWinner&7: &d" + winner);
- }
- Player w = Bukkit.getPlayer(winner);
- if (w != null && Profile.getByPlayer(w) != null) {
- board.add("&fKills&7: &d" + Profile.getByPlayer(w).getUhcKills());
- board.add("&fWins&7: &d" + Profile.getByPlayer(w).wins.getAmount());
- }
- if (GameManager.getInstance().getRestartseconds() > 0) {
- board.add("");
- board.add("&cRebooting in&7: &4"
- + UHCUtils.getFormatTime(GameManager.getInstance().getRestartseconds()));
- }
- }
- }
- board.add("&7&m---------------------");
- List<String> toReturn = new ArrayList<>();
- for (String list : board) {
- toReturn.add(Color.translate(list));
- }
- return toReturn; }
- }
- @Override
- public long getInterval() {
- return 2;
- }
- @Override
- public void onScoreboardCreate(Player player, Scoreboard board) {
- }
- @Override
- public void preLoop() {
- }
- public String getBorderInfo() {
- if (GameManager.getInstance().getBorderRunnable() == null) {
- return "";
- }
- if (!GameManager.getInstance().isBorderShrinks()) {
- return "";
- }
- if (ConfigManager.getBorderSize().getAmount() == 25) {
- return "";
- } else if (GameManager.getInstance().getBorderRunnable().isCounting()) {
- return Color.translate("&7(&c" + GameManager.getInstance().getBorderRunnable().getLastCountdown() + "s&7)");
- } else {
- return Color.translate("&7(&c" + GameManager.getInstance().getBorderRunnable().getMinutes() + "m&7)");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement