Facebook
From PietregTM, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 241
  1. public class TagUtil
  2. {
  3.     private static Scoreboard scoreboard;
  4.    
  5.     static {
  6.         TagUtil.scoreboard = new Scoreboard();
  7.     }
  8.    
  9.     public static void init() {
  10.         TagUtil.scoreboard = new Scoreboard();
  11.     }
  12.    
  13.     public static void createBoard(final Player p) throws Exception {
  14.         ScoreboardTeam team = null;
  15.         if (TagUtil.scoreboard.getPlayerTeam(Bukkit.getPlayer(p.getName()).getName()) == null) {
  16.             team = TagUtil.scoreboard.createTeam(p.getName());
  17.         }
  18.         TagUtil.scoreboard.addPlayerToTeam(p.getName(), team.getName());
  19.         team.setPrefix("");
  20.         team.setDisplayName("");
  21.         team.setSuffix("");
  22.         final PacketPlayOutScoreboardTeam packet = new PacketPlayOutScoreboardTeam(team, 0);
  23.         ((CraftPlayer)p).getHandle().playerConnection.sendPacket((Packet)packet);
  24.         for (final Player pp : Bukkit.getServer().getOnlinePlayers()) {
  25.             if (pp != p) {
  26.                 ((CraftPlayer)pp).getHandle().playerConnection.sendPacket((Packet)packet);
  27.             }
  28.         }
  29.         for (final Player pp : Bukkit.getServer().getOnlinePlayers()) {
  30.             if (pp != p) {
  31.                 final ScoreboardTeam t = TagUtil.scoreboard.getTeam(pp.getName());
  32.                 final PacketPlayOutScoreboardTeam packetShow = new PacketPlayOutScoreboardTeam(t, 0);
  33.                 ((CraftPlayer)p).getHandle().playerConnection.sendPacket((Packet)packetShow);
  34.             }
  35.         }
  36.     }
  37.    
  38.     public static void createBoard(final OfflinePlayer p) throws Exception {
  39.         ScoreboardTeam team = null;
  40.         if (TagUtil.scoreboard.getPlayerTeam(Bukkit.getPlayer(p.getName()).getName()) == null) {
  41.             team = TagUtil.scoreboard.createTeam(p.getName());
  42.         }
  43.         TagUtil.scoreboard.addPlayerToTeam(p.getName(), team.getName());
  44.         team.setPrefix("");
  45.         team.setDisplayName("");
  46.         team.setSuffix("");
  47.         final PacketPlayOutScoreboardTeam packet = new PacketPlayOutScoreboardTeam(team, 0);
  48.         ((CraftPlayer)p).getHandle().playerConnection.sendPacket((Packet)packet);
  49.         for (final Player pp : Bukkit.getServer().getOnlinePlayers()) {
  50.             if (pp != p) {
  51.                 ((CraftPlayer)pp).getHandle().playerConnection.sendPacket((Packet)packet);
  52.             }
  53.         }
  54.         for (final Player pp : Bukkit.getServer().getOnlinePlayers()) {
  55.             if (pp != p) {
  56.                 final ScoreboardTeam t = TagUtil.scoreboard.getTeam(pp.getName());
  57.                 final PacketPlayOutScoreboardTeam packetShow = new PacketPlayOutScoreboardTeam(t, 0);
  58.                 ((CraftPlayer)p).getHandle().playerConnection.sendPacket((Packet)packetShow);
  59.             }
  60.         }
  61.     }
  62.    
  63.     @SuppressWarnings("rawtypes")
  64.         public static void updateBoard(final Player p) {
  65.         if (TagUtil.scoreboard.getPlayerTeam(Bukkit.getPlayer(p.getName()).getName()) == null) {
  66.             return;
  67.         }
  68.         final ScoreboardTeam team = TagUtil.scoreboard.getPlayerTeam(p.getName());
  69.         team.setDisplayName("");
  70.         team.setSuffix("");
  71.         for (final Player online : Bukkit.getOnlinePlayers()) {
  72.             team.setPrefix(getValidPrefix(p, online));
  73.             final PermissionUser pu = PermissionsEx.getUser(p);
  74.             final PacketPlayOutScoreboardTeam pa = new PacketPlayOutScoreboardTeam(team, 2);
  75.             if (pu.inGroup("WLASCICIEL")) {
  76.                 ((CraftPlayer)online).getHandle().playerConnection.sendPacket((Packet)pa);
  77.                 return;
  78.             }
  79.             }
  80.             final PacketPlayOutScoreboardTeam packet = new PacketPlayOutScoreboardTeam(team, 2);
  81.             ((CraftPlayer)online).getHandle().playerConnection.sendPacket((Packet)packet);
  82.         }
  83.     }
  84.    
  85.     public static void refreshAll() {
  86.         for (final Player p : Bukkit.getOnlinePlayers()) {
  87.             updateBoard(p);
  88.         }
  89.     }
  90.    
  91.     public static String getValidPrefix(final Player get, final Player send) {
  92.         final PermissionUser pu = PermissionsEx.getUser(get);
  93.         String prefix = "";
  94.         if (pu.inGroup("WLASCICIEL")) {
  95.             return ChatUtil.fixColor("&4WLASCICIEL&7 ");
  96.         }
  97.         return ChatUtil.fixColor(String.valueOf(String.valueOf(String.valueOf(prefix)));
  98.     }
  99.    
  100.     public static void removeBoard(final Player p) {
  101.         try {
  102.             ScoreboardTeam team = null;
  103.             if (TagUtil.scoreboard.getPlayerTeam(Bukkit.getPlayer(p.getName()).getName()) == null) {
  104.                 return;
  105.             }
  106.             team = TagUtil.scoreboard.getPlayerTeam(p.getName());
  107.             TagUtil.scoreboard.removePlayerFromTeam(p.getName(), team);
  108.             final PacketPlayOutScoreboardTeam packet = new PacketPlayOutScoreboardTeam(team, 1);
  109.             ((CraftPlayer)p).getHandle().playerConnection.sendPacket((Packet)packet);
  110.             for (final Player pp : Bukkit.getServer().getOnlinePlayers()) {
  111.                 if (pp != p) {
  112.                     ((CraftPlayer)pp).getHandle().playerConnection.sendPacket((Packet)packet);
  113.                 }
  114.             }
  115.             for (final Player pp : Bukkit.getServer().getOnlinePlayers()) {
  116.                 if (pp != p) {
  117.                     final ScoreboardTeam t = TagUtil.scoreboard.getTeam(pp.getName());
  118.                     final PacketPlayOutScoreboardTeam packetHide = new PacketPlayOutScoreboardTeam(t, 1);
  119.                     ((CraftPlayer)p).getHandle().playerConnection.sendPacket((Packet)packetHide);
  120.                 }
  121.             }
  122.             TagUtil.scoreboard.removeTeam(team);
  123.         }
  124.         catch (Exception ex) {}
  125.     }
  126. }