Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.tinchx.lobby.scoreboard;
- import me.tinchx.lobby.Lobby;
- import me.tinchx.lobby.utilities.ColorText;
- import me.tinchx.permissions.vPermissions.vPermissions;
- import me.tinchx.permissions.vPermissionsAPI.PermissionPlayer;
- import me.tinchx.queue.queuespigot.QueueAPI;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerKickEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.scheduler.BukkitRunnable;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.Team;
- import java.util.WeakHashMap;
- public class ScoreboardManager implements Listener
- {
- public WeakHashMap<Player, ScoreboardHelper> helper;
- private String scoreboardTitle;
- private boolean test = false;
- public ScoreboardManager() {
- this.helper = new WeakHashMap<Player, ScoreboardHelper>();
- }
- public ScoreboardHelper getScoreboardFor(final Player player) {
- return this.helper.get(player);
- }
- @EventHandler
- public void onPlayerQuit(final PlayerQuitEvent event) {
- final Player player = event.getPlayer();
- this.helper.remove(player);
- }
- @EventHandler
- public void onPlayerKick(final PlayerKickEvent event) {
- final Player player = event.getPlayer();
- this.helper.remove(player);
- }
- @EventHandler
- public void onPlayerJoin(final PlayerJoinEvent event) {
- final Player player = event.getPlayer();
- event.setJoinMessage((String)null);
- event.setJoinMessage((String)null);
- registerScoreboard(player);
- for (Player online : Bukkit.getServer().getOnlinePlayers()){
- resendTabList(online);
- }
- }
- public void unregister(final Scoreboard board, final String name) {
- final Team team = board.getTeam(name);
- if (team != null) {
- team.unregister();
- }
- }
- public Team getTeam(final Scoreboard board, final String name, final String prefix) {
- Team team = board.getTeam(name);
- if (team == null) {
- team = board.registerNewTeam(name);
- }
- team.setPrefix(prefix);
- return team;
- }
- public void registerScoreboard(Player player)
- {
- Scoreboard bukkitScoreboard = Bukkit.getServer().getScoreboardManager().getNewScoreboard();
- player.setScoreboard(bukkitScoreboard);
- this.scoreboardTitle = ColorText.translate(Lobby.getPlugin().getConfig().getString("Scoreboard.Title"));
- ScoreboardHelper localScoreboardHelper = new ScoreboardHelper(bukkitScoreboard, this.scoreboardTitle);
- this.helper.put(player, localScoreboardHelper);
- this.helper.put(player, localScoreboardHelper);
- this.helper.put(player, localScoreboardHelper);
- resendTabList(player);
- for (Player other : Bukkit.getServer().getOnlinePlayers()) {
- if ((other != player) &&
- (getScoreboardFor(other) != null))
- {
- Scoreboard scoreboard = getScoreboardFor(other).getScoreBoard();
- Team otherteam = getTeam(scoreboard, "other", ColorText.translate("&c"));
- otherteam.addEntry(player.getName());
- }
- }
- }
- public void resendTabList(final Player player) {
- if (this.getScoreboardFor(player) == null) {
- return;
- }
- final Scoreboard scoreboard = this.getScoreboardFor(player).getScoreBoard();
- this.unregister(scoreboard, "player");
- this.unregister(scoreboard, "other");
- final Team playerteam = this.getTeam(scoreboard, "player", ColorText.translate("&2"));
- final Team otherteam = this.getTeam(scoreboard, "other", ColorText.translate("&c"));
- for (Player other : Bukkit.getServer().getOnlinePlayers()){
- if (other == player) {
- playerteam.addEntry(other.getName());
- }
- else {
- otherteam.addEntry(other.getName());
- }
- }
- }
- public void setupScoreboard() {
- new BukkitRunnable() {
- public void run() {
- for (Player player : Bukkit.getServer().getOnlinePlayers()){
- if (ScoreboardManager.this.helper.containsKey(player)) {
- final ScoreboardHelper scoreboardHelper = ScoreboardManager.this.getScoreboardFor(player);
- scoreboardHelper.clear();
- scoreboardHelper.add("GODMT IS MY FUCKING BITCH");
- scoreboardHelper.update(player);
- }
- }
- }
- }.runTaskTimer((Plugin) Lobby.getPlugin(), 0L, 3L);
- }
- private String getPlayerRank(Player player) {
- String prefix;
- PermissionPlayer rank = vPermissions.getPlugin().getPermissionManager().getPermissionPlayer(player.getUniqueId());
- String playerRank = rank.getPrimaryGroup().getName();
- switch (playerRank) {
- case "JrAdmin": {
- prefix = "&c&o" + playerRank;
- break;
- }
- case "Admin": {
- prefix = "&c&o" + playerRank;
- break;
- }
- case "SrAdmin": {
- prefix = "&c&o" + playerRank;
- break;
- }
- case "Developer": {
- prefix = "&9&o" + playerRank;
- break;
- }
- case "Manager": {
- prefix = "&c&o" + playerRank;
- break;
- }
- case "PlatformAdmin": {
- prefix = "&4&o" + playerRank;
- break;
- }
- case "Owner": {
- prefix = "&4&o" + playerRank;
- break;
- }
- case "Founder": {
- prefix = "&4&o" + playerRank;
- break;
- }
- default: {
- prefix = "&f" + playerRank;
- break;
- }
- }
- return prefix;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment