Guest User

ABC

a guest
May 5th, 2017
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.37 KB | None | 0 0
  1. package de.benschu13.listener;
  2.  
  3. import java.lang.reflect.Field;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.event.EventHandler;
  9. import org.bukkit.event.Listener;
  10. import org.bukkit.event.player.PlayerJoinEvent;
  11. import org.bukkit.scoreboard.Scoreboard;
  12.  
  13. import de.tiigertim.tiigertabscore.Main;
  14. import net.minecraft.server.v1_8_R3.IChatBaseComponent;
  15. import net.minecraft.server.v1_8_R3.PacketPlayOutPlayerListHeaderFooter;
  16. import net.minecraft.server.v1_8_R3.IChatBaseComponent.ChatSerializer;
  17.  
  18. public class TabListener implements Listener {
  19.    
  20.     public static String prefix = "§TabScore §8| ";
  21.     public static String noPermission = prefix + "§cDafür hast du keine Berechtigung.";
  22.    
  23.     public static Main plugin;
  24.    
  25.     Scoreboard sb;
  26.     {
  27.        
  28.         sb = Bukkit.getScoreboardManager().getNewScoreboard();
  29.        
  30.         sb.registerNewTeam("00000Admin");
  31.         sb.registerNewTeam("00001Dev");
  32.         sb.registerNewTeam("00002SrMod");
  33.         sb.registerNewTeam("00003Mod");
  34.         sb.registerNewTeam("00004Sup");
  35.         sb.registerNewTeam("00005HBuild");
  36.         sb.registerNewTeam("00006Build");
  37.         sb.registerNewTeam("00007Des");
  38.         sb.registerNewTeam("00008Freund");
  39.         sb.registerNewTeam("00009YT");
  40.         sb.registerNewTeam("00010PremiPlus");
  41.         sb.registerNewTeam("00011Premi");
  42.         sb.registerNewTeam("00012Spieler");
  43.        
  44.         sb.getTeam("00000Admin").setPrefix("§4Admin §8┃ §4");
  45.         sb.getTeam("00001Dev").setPrefix("§bDev §8┃ §b");
  46.         sb.getTeam("00002SrMod").setPrefix("§cSrMod §8┃ §c");
  47.         sb.getTeam("00003Mod").setPrefix("§cMod §8┃ §c");
  48.         sb.getTeam("00004Sup").setPrefix("§9Sup §8┃ §9");
  49.         sb.getTeam("00005HBuild").setPrefix("§eHBuild §8┃ §e");
  50.         sb.getTeam("00006Build").setPrefix("§eBuild §8┃ §e");
  51.         sb.getTeam("00007Des").setPrefix("§7Des §8┃ §7");
  52.         sb.getTeam("00008Freund").setPrefix("§d");
  53.         sb.getTeam("00009YT").setPrefix("§5");
  54.         sb.getTeam("00010PremiPlus").setPrefix("§6");
  55.         sb.getTeam("00011Premi").setPrefix("§6");
  56.         sb.getTeam("00012Spieler").setPrefix("§a");
  57.        
  58.     }
  59.  
  60.     @EventHandler
  61.     public void onJoin(PlayerJoinEvent e) {
  62.         setPrefix(e.getPlayer());
  63.     }
  64.    
  65.     @SuppressWarnings("deprecation")
  66.     private void setPrefix(Player p) {
  67.         String team = "";
  68.        
  69.         if(p.hasPermission("Tab.Admin")) {
  70.             team = "00000Admin";
  71.     } else if(p.hasPermission("Tab.Dev")) {
  72.         team = "00001Dev";
  73.     } else if(p.hasPermission("Tab.SrMod")) {
  74.         team = "00002SrMod";
  75.     } else if(p.hasPermission("Tab.Mod")) {
  76.         team = "00003Mod";
  77.     } else if(p.hasPermission("Tab.Sup")) {
  78.         team = "00004Sup";
  79.     } else if(p.hasPermission("Tab.HBuild")) {
  80.         team = "00005HBuild";
  81.     } else if(p.hasPermission("Tab.Build")) {
  82.         team = "00006Build";
  83.     } else if(p.hasPermission("Tab.Des")) {
  84.         team = "00007Des";
  85.     } else if(p.hasPermission("Tab.Freund")) {
  86.         team = "00008Freund";
  87.     } else if(p.hasPermission("Tab.YT")) {
  88.         team = "00009YT";
  89.     } else if(p.hasPermission("Tab.PremiPlus")) {
  90.         team = "00010PremiPlus";
  91.     } else if(p.hasPermission("Tab.Premi")) {
  92.         team = "00011Premi";
  93.     } else if(p.hasPermission("Tab.Spieler")) {
  94.         team = "00012Spieler";
  95.     }
  96.        
  97.         sb.getTeam(team).addPlayer(p);
  98.         p.setDisplayName(sb.getTeam(team).getPrefix() + p.getName());
  99.        
  100.         for(Player all : Bukkit.getOnlinePlayers()) {
  101.             all.setScoreboard(sb);
  102.         }
  103.     }
  104.  
  105.    
  106.     @EventHandler
  107.     public void onJoin1(PlayerJoinEvent e) {
  108.         sendTablistHeaderAndFooter(e.getPlayer(),
  109.                 "§8» §aDevServer.de §8- §7DevServer by benschu13 §8«\n§8» §7Viel Spaß auf dem Server. §8«\n§a",
  110.                 "§a\n§8» §c§lWartung §8- §7+§cWartung §7Command §8- §7+§bFly §7Command §8«");
  111.     }
  112.    
  113.     public void sendTablistHeaderAndFooter(Player p, String header, String footer) {
  114.         if(header == null) header = "";
  115.         if(footer == null) footer = "";
  116.        
  117.         IChatBaseComponent tabHeader = ChatSerializer.a("{\"text\":\"" + header + "\"}");  
  118.         IChatBaseComponent tabFooter = ChatSerializer.a("{\"text\":\"" + footer + "\"}");
  119.        
  120.         PacketPlayOutPlayerListHeaderFooter headerPacket = new PacketPlayOutPlayerListHeaderFooter(tabHeader);
  121.         try {
  122.             Field field = headerPacket.getClass().getDeclaredField("b");
  123.             field.setAccessible(true);
  124.             field.set(headerPacket, tabFooter);
  125.         } catch(Exception e) {
  126.             e.printStackTrace();
  127.         } finally {
  128.             ((CraftPlayer)p).getHandle().playerConnection.sendPacket(headerPacket);
  129.         }
  130.        
  131.     }
  132. }
Advertisement
Add Comment
Please, Sign In to add comment