Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.45 KB | None | 0 0
  1. package fr.hikendace.lowaryalobby.utils;
  2.  
  3. import java.lang.reflect.Field;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. import net.minecraft.server.v1_9_R2.EntityPlayer;
  8. import net.minecraft.server.v1_9_R2.IChatBaseComponent;
  9. import net.minecraft.server.v1_9_R2.IChatBaseComponent.ChatSerializer;
  10. import net.minecraft.server.v1_9_R2.PacketPlayOutChat;
  11. import net.minecraft.server.v1_9_R2.PacketPlayOutPlayerListHeaderFooter;
  12. import net.minecraft.server.v1_9_R2.PacketPlayOutTitle;
  13. import net.minecraft.server.v1_9_R2.PacketPlayOutTitle.EnumTitleAction;
  14. import net.minecraft.server.v1_9_R2.PlayerConnection;
  15. import org.bukkit.ChatColor;
  16. import org.bukkit.craftbukkit.v1_9_R2.entity.CraftPlayer;
  17. import org.bukkit.entity.Player;
  18.  
  19. public class Title
  20. {
  21. public void sendTitle(Player player, Integer fadeIn, Integer stay, Integer fadeOut, String message)
  22. {
  23. sendTitle(player, fadeIn, stay, fadeOut, message, null);
  24. }
  25.  
  26. @Deprecated
  27. public void sendSubtitle(Player player, Integer fadeIn, Integer stay, Integer fadeOut, String message)
  28. {
  29. sendTitle(player, fadeIn, stay, fadeOut, null, message);
  30. }
  31.  
  32. @Deprecated
  33. public void sendFullTitle(Player player, Integer fadeIn, Integer stay, Integer fadeOut, String title, String subtitle)
  34. {
  35. sendTitle(player, fadeIn, stay, fadeOut, title, subtitle);
  36. }
  37.  
  38. public void sendTitle(Player player, Integer fadeIn, Integer stay, Integer fadeOut, String title, String subtitle)
  39. {
  40. PlayerConnection connection = ((CraftPlayer)player).getHandle().playerConnection;
  41.  
  42. PacketPlayOutTitle packetPlayOutTimes = new PacketPlayOutTitle(PacketPlayOutTitle.EnumTitleAction.TIMES, null, fadeIn.intValue(), stay.intValue(), fadeOut.intValue());
  43. connection.sendPacket(packetPlayOutTimes);
  44. if (subtitle != null)
  45. {
  46. subtitle = subtitle.replaceAll("%player%", player.getDisplayName());
  47. subtitle = ChatColor.translateAlternateColorCodes('&', subtitle);
  48. IChatBaseComponent titleSub = IChatBaseComponent.ChatSerializer.a("{\"text\": \"" + subtitle + "\"}");
  49. PacketPlayOutTitle packetPlayOutSubTitle = new PacketPlayOutTitle(PacketPlayOutTitle.EnumTitleAction.SUBTITLE, titleSub);
  50.  
  51. connection.sendPacket(packetPlayOutSubTitle);
  52. }
  53. if (title != null)
  54. {
  55. title = title.replaceAll("%player%", player.getDisplayName());
  56. title = ChatColor.translateAlternateColorCodes('&', title);
  57. IChatBaseComponent titleMain = IChatBaseComponent.ChatSerializer.a("{\"text\": \"" + title + "\"}");
  58. PacketPlayOutTitle packetPlayOutTitle = new PacketPlayOutTitle(PacketPlayOutTitle.EnumTitleAction.TITLE, titleMain);
  59.  
  60. connection.sendPacket(packetPlayOutTitle);
  61. }
  62. }
  63.  
  64. public void sendTabTitle(Player player, String header, String footer)
  65. {
  66. if (header == null) {
  67. header = "";
  68. }
  69. header = ChatColor.translateAlternateColorCodes('&', header);
  70. if (footer == null) {
  71. footer = "";
  72. }
  73. footer = ChatColor.translateAlternateColorCodes('&', footer);
  74.  
  75. header = header.replaceAll("%player%", player.getDisplayName());
  76. footer = footer.replaceAll("%player%", player.getDisplayName());
  77.  
  78. PlayerConnection connection = ((CraftPlayer)player).getHandle().playerConnection;
  79. IChatBaseComponent tabTitle = IChatBaseComponent.ChatSerializer.a("{\"text\": \"" + header + "\"}");
  80. IChatBaseComponent tabFoot = IChatBaseComponent.ChatSerializer.a("{\"text\": \"" + footer + "\"}");
  81. PacketPlayOutPlayerListHeaderFooter headerPacket = new PacketPlayOutPlayerListHeaderFooter(tabTitle);
  82. try
  83. {
  84. Field field = headerPacket.getClass().getDeclaredField("b");
  85. field.setAccessible(true);
  86. field.set(headerPacket, tabFoot);
  87. }
  88. catch (Exception e)
  89. {
  90. e.printStackTrace();
  91. }
  92. finally
  93. {
  94. connection.sendPacket(headerPacket);
  95. }
  96. }
  97.  
  98. public void sendActionBar(Player player, String message)
  99. {
  100. CraftPlayer p = (CraftPlayer)player;
  101. IChatBaseComponent cbc = IChatBaseComponent.ChatSerializer.a("{\"text\": \"" + message + "\"}");
  102. PacketPlayOutChat ppoc = new PacketPlayOutChat(cbc, (byte)2);
  103. p.getHandle().playerConnection.sendPacket(ppoc);
  104. }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement