Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. package listener;
  2.  
  3. import java.lang.reflect.Field;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.configuration.file.FileConfiguration;
  8. import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
  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.PlayerQuitEvent;
  14.  
  15. import main.main;
  16. import net.minecraft.server.v1_8_R3.IChatBaseComponent;
  17. import net.minecraft.server.v1_8_R3.PacketPlayOutPlayerListHeaderFooter;
  18. import net.minecraft.server.v1_8_R3.PlayerConnection;
  19. import net.minecraft.server.v1_8_R3.IChatBaseComponent.ChatSerializer;
  20. import ru.tehkode.permissions.bukkit.PermissionsEx;
  21.  
  22. public class JoinListener implements Listener {
  23.  
  24.  
  25. @EventHandler
  26. public void onJoin(PlayerJoinEvent e){
  27. Player p = e.getPlayer();
  28.  
  29.  
  30.  
  31.  
  32. if(PermissionsEx.getUser(p).inGroup("Owner")){
  33. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', (" " + "\n\n"+ " &6&l*&e&l*&f&l* &6&l<&eOwner&6&l> &e"+p.getName() +" &fhas joined the &eserver &f&l*&e&l*&6&l*"+ "\n\n" + " ")));
  34. }else if(PermissionsEx.getUser(p).inGroup("Dev")){
  35. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', (" " + "\n\n"+ " &6&l*&e&l*&f&l* &6&l<&eDev&6&l> &e"+p.getName() +" &fhas joined the &eserver &f&l*&e&l*&6&l*"+ "\n\n" + " ")));
  36. }else if(PermissionsEx.getUser(p).inGroup("Admin")){
  37. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', (" " + "\n\n"+ " &4&l*&c&l*&f&l* &4&l<&cAdmin&4&l> &c"+p.getName() +" &fhas joined the &cserver &f&l*&c&l*&4&l*"+ "\n\n" + " ")));
  38. }else if(PermissionsEx.getUser(p).inGroup("Manager")){
  39. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', (" " + "\n\n"+ " &4&l*&c&l*&f&l* &4&l<&cManager&4&l> &c"+p.getName() +" &fhas joined the &cserver &f&l*&c&l*&4&l*"+ "\n\n" + " ")));
  40. }else if(PermissionsEx.getUser(p).inGroup("SrMod")){
  41. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', (" " + "\n\n"+ " &3&l*&b&l*&f&l* &3&l<&bSr&7.&fMod&3&l> &b"+p.getName() +" &fhas joined the &bserver &f&l*&b&l*&3&l*"+ "\n\n" + " ")));
  42. }else if(PermissionsEx.getUser(p).inGroup("Mod")){
  43. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', (" " + "\n\n"+ " &2&l*&a&l*&f&l* &2&l<&aMod&2&l> &a"+p.getName() +" &fhas joined the &aserver &f&l*&a&l*&2&l*"+ "\n\n" + " ")));
  44. }else if(PermissionsEx.getUser(p).inGroup("Helper")){
  45. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', (" " + "\n\n"+ " &5&l*&d&l*&f&l* &5&l<&dHelper&5&l> &d"+p.getName() +" &fhas joined the &dserver &f&l*&d&l*&5&l*"+ "\n\n" + " ")));
  46. }else if(PermissionsEx.getUser(p).inGroup("Builder")){
  47. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', (" " + "\n\n"+ " &3&l*&b&l*&f&l* &b&l<&fBuilder&b&l> &f"+p.getName() +" &fhas joined the &bserver &f&l*&b&l*&3&l*"+ "\n\n" + " ")));
  48. }else if(PermissionsEx.getUser(p).inGroup("Donor")){
  49. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', (" " + "\n\n"+ " &5&l*&d&l*&f&l* &5&l<&dDonor&5&l> &d"+p.getName() +" &fhas joined the &dserver &f&l*&d&l*&5&l*"+ "\n\n" + " ")));
  50. }else {
  51. e.setJoinMessage("§7[§2+§7] "+e.getPlayer().getName()+" §2§nJoined§r §7the game.");
  52. }
  53.  
  54. }
  55. @EventHandler
  56. public void onLeave(PlayerQuitEvent e){
  57.  
  58. e.setQuitMessage("§7[§4-§7] "+e.getPlayer().getName()+" §4§nLeft§r §7the game.");
  59.  
  60. }
  61.  
  62.  
  63.  
  64. public static void Tab(Player p, String header, String footer) {
  65.  
  66. if (header == null)
  67. header = "";
  68. if (footer == null)
  69. footer = "";
  70.  
  71. if(header.contains("%online%") || footer.contains("%online%")){
  72. header.replace("%online%", Bukkit.getOnlinePlayers().size()+"");
  73. footer.replace("%online%", Bukkit.getOnlinePlayers().size()+"");
  74. }
  75. PlayerConnection connection = ((CraftPlayer) p).getHandle().playerConnection;
  76.  
  77. IChatBaseComponent title = ChatSerializer.a("{\"text\":\"" + header + "\"}");
  78. IChatBaseComponent foot = ChatSerializer.a("{\"text\":\"" + footer + "\"}");
  79.  
  80. PacketPlayOutPlayerListHeaderFooter headerPacket = new PacketPlayOutPlayerListHeaderFooter(title);
  81. try {
  82.  
  83. Field field = headerPacket.getClass().getDeclaredField("b");
  84. field.setAccessible(true);
  85. field.set(headerPacket, foot);
  86.  
  87. } catch (Exception e) {
  88. e.printStackTrace();
  89. } finally {
  90. connection.sendPacket(headerPacket);
  91. }
  92.  
  93. }
  94.  
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement