Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.benschu13.listener;
- import java.lang.reflect.Field;
- import org.bukkit.Bukkit;
- import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.scoreboard.Scoreboard;
- import de.tiigertim.tiigertabscore.Main;
- import net.minecraft.server.v1_8_R3.IChatBaseComponent;
- import net.minecraft.server.v1_8_R3.PacketPlayOutPlayerListHeaderFooter;
- import net.minecraft.server.v1_8_R3.IChatBaseComponent.ChatSerializer;
- public class TabListener implements Listener {
- public static String prefix = "§TabScore §8| ";
- public static String noPermission = prefix + "§cDafür hast du keine Berechtigung.";
- public static Main plugin;
- Scoreboard sb;
- {
- sb = Bukkit.getScoreboardManager().getNewScoreboard();
- sb.registerNewTeam("00000Admin");
- sb.registerNewTeam("00001Dev");
- sb.registerNewTeam("00002SrMod");
- sb.registerNewTeam("00003Mod");
- sb.registerNewTeam("00004Sup");
- sb.registerNewTeam("00005HBuild");
- sb.registerNewTeam("00006Build");
- sb.registerNewTeam("00007Des");
- sb.registerNewTeam("00008Freund");
- sb.registerNewTeam("00009YT");
- sb.registerNewTeam("00010PremiPlus");
- sb.registerNewTeam("00011Premi");
- sb.registerNewTeam("00012Spieler");
- sb.getTeam("00000Admin").setPrefix("§4Admin §8┃ §4");
- sb.getTeam("00001Dev").setPrefix("§bDev §8┃ §b");
- sb.getTeam("00002SrMod").setPrefix("§cSrMod §8┃ §c");
- sb.getTeam("00003Mod").setPrefix("§cMod §8┃ §c");
- sb.getTeam("00004Sup").setPrefix("§9Sup §8┃ §9");
- sb.getTeam("00005HBuild").setPrefix("§eHBuild §8┃ §e");
- sb.getTeam("00006Build").setPrefix("§eBuild §8┃ §e");
- sb.getTeam("00007Des").setPrefix("§7Des §8┃ §7");
- sb.getTeam("00008Freund").setPrefix("§d");
- sb.getTeam("00009YT").setPrefix("§5");
- sb.getTeam("00010PremiPlus").setPrefix("§6");
- sb.getTeam("00011Premi").setPrefix("§6");
- sb.getTeam("00012Spieler").setPrefix("§a");
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent e) {
- setPrefix(e.getPlayer());
- }
- @SuppressWarnings("deprecation")
- private void setPrefix(Player p) {
- String team = "";
- if(p.hasPermission("Tab.Admin")) {
- team = "00000Admin";
- } else if(p.hasPermission("Tab.Dev")) {
- team = "00001Dev";
- } else if(p.hasPermission("Tab.SrMod")) {
- team = "00002SrMod";
- } else if(p.hasPermission("Tab.Mod")) {
- team = "00003Mod";
- } else if(p.hasPermission("Tab.Sup")) {
- team = "00004Sup";
- } else if(p.hasPermission("Tab.HBuild")) {
- team = "00005HBuild";
- } else if(p.hasPermission("Tab.Build")) {
- team = "00006Build";
- } else if(p.hasPermission("Tab.Des")) {
- team = "00007Des";
- } else if(p.hasPermission("Tab.Freund")) {
- team = "00008Freund";
- } else if(p.hasPermission("Tab.YT")) {
- team = "00009YT";
- } else if(p.hasPermission("Tab.PremiPlus")) {
- team = "00010PremiPlus";
- } else if(p.hasPermission("Tab.Premi")) {
- team = "00011Premi";
- } else if(p.hasPermission("Tab.Spieler")) {
- team = "00012Spieler";
- }
- sb.getTeam(team).addPlayer(p);
- p.setDisplayName(sb.getTeam(team).getPrefix() + p.getName());
- for(Player all : Bukkit.getOnlinePlayers()) {
- all.setScoreboard(sb);
- }
- }
- @EventHandler
- public void onJoin1(PlayerJoinEvent e) {
- sendTablistHeaderAndFooter(e.getPlayer(),
- "§8» §aDevServer.de §8- §7DevServer by benschu13 §8«\n§8» §7Viel Spaß auf dem Server. §8«\n§a",
- "§a\n§8» §c§lWartung §8- §7+§cWartung §7Command §8- §7+§bFly §7Command §8«");
- }
- public void sendTablistHeaderAndFooter(Player p, String header, String footer) {
- if(header == null) header = "";
- if(footer == null) footer = "";
- IChatBaseComponent tabHeader = ChatSerializer.a("{\"text\":\"" + header + "\"}");
- IChatBaseComponent tabFooter = ChatSerializer.a("{\"text\":\"" + footer + "\"}");
- PacketPlayOutPlayerListHeaderFooter headerPacket = new PacketPlayOutPlayerListHeaderFooter(tabHeader);
- try {
- Field field = headerPacket.getClass().getDeclaredField("b");
- field.setAccessible(true);
- field.set(headerPacket, tabFooter);
- } catch(Exception e) {
- e.printStackTrace();
- } finally {
- ((CraftPlayer)p).getHandle().playerConnection.sendPacket(headerPacket);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment