CYADEM

Untitled

Jun 27th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.19 KB | None | 0 0
  1. package me.tinchx.lobby.scoreboard;
  2.  
  3. import me.tinchx.lobby.Lobby;
  4. import me.tinchx.lobby.utilities.ColorText;
  5. import me.tinchx.permissions.vPermissions.vPermissions;
  6. import me.tinchx.permissions.vPermissionsAPI.PermissionPlayer;
  7. import me.tinchx.queue.queuespigot.QueueAPI;
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.player.PlayerJoinEvent;
  13. import org.bukkit.event.player.PlayerKickEvent;
  14. import org.bukkit.event.player.PlayerQuitEvent;
  15. import org.bukkit.plugin.Plugin;
  16. import org.bukkit.scheduler.BukkitRunnable;
  17. import org.bukkit.scoreboard.Scoreboard;
  18. import org.bukkit.scoreboard.Team;
  19.  
  20. import java.util.WeakHashMap;
  21.  
  22. public class ScoreboardManager implements Listener
  23. {
  24. public WeakHashMap<Player, ScoreboardHelper> helper;
  25. private String scoreboardTitle;
  26. private boolean test = false;
  27.  
  28. public ScoreboardManager() {
  29. this.helper = new WeakHashMap<Player, ScoreboardHelper>();
  30. }
  31.  
  32. public ScoreboardHelper getScoreboardFor(final Player player) {
  33. return this.helper.get(player);
  34. }
  35.  
  36. @EventHandler
  37. public void onPlayerQuit(final PlayerQuitEvent event) {
  38. final Player player = event.getPlayer();
  39. this.helper.remove(player);
  40. }
  41.  
  42. @EventHandler
  43. public void onPlayerKick(final PlayerKickEvent event) {
  44. final Player player = event.getPlayer();
  45. this.helper.remove(player);
  46. }
  47.  
  48. @EventHandler
  49. public void onPlayerJoin(final PlayerJoinEvent event) {
  50. final Player player = event.getPlayer();
  51. event.setJoinMessage((String)null);
  52. event.setJoinMessage((String)null);
  53. registerScoreboard(player);
  54. for (Player online : Bukkit.getServer().getOnlinePlayers()){
  55. resendTabList(online);
  56. }
  57. }
  58.  
  59. public void unregister(final Scoreboard board, final String name) {
  60. final Team team = board.getTeam(name);
  61. if (team != null) {
  62. team.unregister();
  63. }
  64. }
  65.  
  66. public Team getTeam(final Scoreboard board, final String name, final String prefix) {
  67. Team team = board.getTeam(name);
  68. if (team == null) {
  69. team = board.registerNewTeam(name);
  70. }
  71. team.setPrefix(prefix);
  72. return team;
  73. }
  74.  
  75.  
  76. public void registerScoreboard(Player player)
  77. {
  78. Scoreboard bukkitScoreboard = Bukkit.getServer().getScoreboardManager().getNewScoreboard();
  79. player.setScoreboard(bukkitScoreboard);
  80. this.scoreboardTitle = ColorText.translate(Lobby.getPlugin().getConfig().getString("Scoreboard.Title"));
  81. ScoreboardHelper localScoreboardHelper = new ScoreboardHelper(bukkitScoreboard, this.scoreboardTitle);
  82. this.helper.put(player, localScoreboardHelper);
  83. this.helper.put(player, localScoreboardHelper);
  84. this.helper.put(player, localScoreboardHelper);
  85. resendTabList(player);
  86. for (Player other : Bukkit.getServer().getOnlinePlayers()) {
  87. if ((other != player) &&
  88. (getScoreboardFor(other) != null))
  89. {
  90. Scoreboard scoreboard = getScoreboardFor(other).getScoreBoard();
  91. Team otherteam = getTeam(scoreboard, "other", ColorText.translate("&c"));
  92. otherteam.addEntry(player.getName());
  93. }
  94. }
  95. }
  96.  
  97. public void resendTabList(final Player player) {
  98. if (this.getScoreboardFor(player) == null) {
  99. return;
  100. }
  101. final Scoreboard scoreboard = this.getScoreboardFor(player).getScoreBoard();
  102. this.unregister(scoreboard, "player");
  103. this.unregister(scoreboard, "other");
  104. final Team playerteam = this.getTeam(scoreboard, "player", ColorText.translate("&2"));
  105. final Team otherteam = this.getTeam(scoreboard, "other", ColorText.translate("&c"));
  106. for (Player other : Bukkit.getServer().getOnlinePlayers()){
  107. if (other == player) {
  108. playerteam.addEntry(other.getName());
  109. }
  110. else {
  111. otherteam.addEntry(other.getName());
  112. }
  113. }
  114. }
  115.  
  116. public void setupScoreboard() {
  117. new BukkitRunnable() {
  118. public void run() {
  119. for (Player player : Bukkit.getServer().getOnlinePlayers()){
  120. if (ScoreboardManager.this.helper.containsKey(player)) {
  121. final ScoreboardHelper scoreboardHelper = ScoreboardManager.this.getScoreboardFor(player);
  122. scoreboardHelper.clear();
  123. scoreboardHelper.add("GODMT IS MY FUCKING BITCH");
  124. scoreboardHelper.update(player);
  125. }
  126. }
  127. }
  128. }.runTaskTimer((Plugin) Lobby.getPlugin(), 0L, 3L);
  129. }
  130.  
  131. private String getPlayerRank(Player player) {
  132. String prefix;
  133. PermissionPlayer rank = vPermissions.getPlugin().getPermissionManager().getPermissionPlayer(player.getUniqueId());
  134. String playerRank = rank.getPrimaryGroup().getName();
  135. switch (playerRank) {
  136. case "JrAdmin": {
  137. prefix = "&c&o" + playerRank;
  138. break;
  139. }
  140. case "Admin": {
  141. prefix = "&c&o" + playerRank;
  142. break;
  143. }
  144. case "SrAdmin": {
  145. prefix = "&c&o" + playerRank;
  146. break;
  147. }
  148. case "Developer": {
  149. prefix = "&9&o" + playerRank;
  150. break;
  151. }
  152. case "Manager": {
  153. prefix = "&c&o" + playerRank;
  154. break;
  155. }
  156. case "PlatformAdmin": {
  157. prefix = "&4&o" + playerRank;
  158. break;
  159. }
  160. case "Owner": {
  161. prefix = "&4&o" + playerRank;
  162. break;
  163. }
  164. case "Founder": {
  165. prefix = "&4&o" + playerRank;
  166. break;
  167. }
  168. default: {
  169. prefix = "&f" + playerRank;
  170. break;
  171. }
  172. }
  173. return prefix;
  174. }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment