Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1. private static Scoreboard scoreboard = new Scoreboard();
  2.  
  3. public static void createBoard(Player p) throws Exception {
  4. ScoreboardTeam team = null;
  5. if (scoreboard.getPlayerTeam(Bukkit.getPlayer(p.getName()).getName()) == null) {
  6. team = scoreboard.createTeam(p.getName());
  7. }
  8. scoreboard.addPlayerToTeam(p.getName(), team.getName());
  9. team.setPrefix("");
  10. team.setDisplayName("");
  11. team.setSuffix("");
  12. PacketPlayOutScoreboardTeam packet = new PacketPlayOutScoreboardTeam(team, 0);
  13. ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet);
  14. Bukkit.getOnlinePlayers().stream().filter(pp -> pp != p).forEach(pp -> ((CraftPlayer) pp).getHandle().playerConnection.sendPacket(packet));
  15. Bukkit.getOnlinePlayers().stream().filter(pp -> pp != p).forEach(pp -> {
  16. ScoreboardTeam t = scoreboard.getTeam(pp.getName());
  17. PacketPlayOutScoreboardTeam packetShow = new PacketPlayOutScoreboardTeam(t, 0);
  18. ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetShow);
  19. });
  20. }
  21.  
  22.  
  23.  
  24. public static void updateBoard(Player p) {
  25. if(p != null) {
  26. ScoreboardTeam team = scoreboard.getPlayerTeam(p.getName());
  27. team.setDisplayName("");
  28. for (Player online : Bukkit.getOnlinePlayers()) {
  29. team.setPrefix(getValidPrefix(p, online));
  30. final Guild g = GuildManager.getGuild(p);
  31. if (g != null) {
  32. if (g.isOwner(p.getName())) {
  33. team.setSuffix(ChatUtil.fixColor(" &7✪✪"));
  34. } else if (g.isLeader(p.getName())) {
  35. team.setSuffix(ChatUtil.fixColor(" &7✪"));
  36. }
  37. }
  38. PacketPlayOutScoreboardTeam packet = new PacketPlayOutScoreboardTeam(team, 2);
  39. ((CraftPlayer) online).getHandle().playerConnection.sendPacket(packet);
  40. }
  41. }
  42. }
  43.  
  44. public static void refreshAll() {
  45. for (Player p : Bukkit.getOnlinePlayers()) {
  46. updateBoard(p);
  47. }
  48. }
  49.  
  50. public static String getValidPrefix(Player get, Player send) {
  51. final User u = UserManager.getUser(get);
  52. if (u != null && u.isProtected()) {
  53. return ChatUtil.fixColor("&e[OCHRONA] &r");
  54. }
  55. String color = "&c";
  56. final Guild g = GuildManager.getGuild(get);
  57. final Guild o = GuildManager.getGuild(send);
  58. if(g != null && o != null){
  59. if(g.equals(o)){
  60. color = "&a";
  61. }else if(g.getAlliance().contains(o.getTag())){
  62. color = "&9";
  63. }
  64. }
  65. String tag = "";
  66. if (g != null) {
  67. tag = "&8[" + color + g.getTag()+ "&8] " + color;
  68. }
  69. return ChatUtil.fixColor(tag);
  70. }
  71.  
  72. public static void removeBoard(Player p) {
  73. try {
  74. if (scoreboard.getPlayerTeam(Bukkit.getPlayer(p.getName()).getName()) == null) {
  75. return;
  76. }
  77. ScoreboardTeam team = scoreboard.getPlayerTeam(p.getName());
  78. scoreboard.removePlayerFromTeam(p.getName(), team);
  79. PacketPlayOutScoreboardTeam packet = new PacketPlayOutScoreboardTeam(team, 1);
  80. ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet);
  81. Bukkit.getOnlinePlayers().stream().filter(pp -> pp != p).forEach(pp -> ((CraftPlayer) pp).getHandle().playerConnection.sendPacket(packet));
  82. Bukkit.getOnlinePlayers().stream().filter(pp -> pp != p).forEach(pp -> {
  83. ScoreboardTeam t = scoreboard.getTeam(pp.getName());
  84. PacketPlayOutScoreboardTeam packetHide = new PacketPlayOutScoreboardTeam(t, 1);
  85. ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetHide);
  86. });
  87. scoreboard.removeTeam(team);
  88. } catch (Exception e) {
  89. e.printStackTrace();
  90. }
  91.  
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement