Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
709
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. package com.arrayprolc.bountifulupdate;
  2.  
  3. import java.lang.reflect.Field;
  4.  
  5. import net.minecraft.server.v1_8_R1.ChatSerializer;
  6. import net.minecraft.server.v1_8_R1.EnumTitleAction;
  7. import net.minecraft.server.v1_8_R1.IChatBaseComponent;
  8. import net.minecraft.server.v1_8_R1.PacketPlayOutChat;
  9. import net.minecraft.server.v1_8_R1.PacketPlayOutPlayerListHeaderFooter;
  10. import net.minecraft.server.v1_8_R1.PacketPlayOutTitle;
  11. import net.minecraft.server.v1_8_R1.PlayerConnection;
  12.  
  13. import org.bukkit.craftbukkit.v1_8_R1.entity.CraftPlayer;
  14. import org.bukkit.entity.Player;
  15.  
  16. public class BUtils {
  17.  
  18. public static void sendTitle(Player player, String title, String subtitle, int fadeIn, int stay, int fadeOut) {
  19. CraftPlayer craftplayer = (CraftPlayer) player;
  20. PlayerConnection connection = craftplayer.getHandle().playerConnection;
  21. IChatBaseComponent titleJSON = ChatSerializer.a("{'text': '" + title + "'}");
  22. IChatBaseComponent subtitleJSON = ChatSerializer.a("{'text': '" + subtitle + "'}");
  23. PacketPlayOutTitle titlePacket = new PacketPlayOutTitle(EnumTitleAction.TITLE, titleJSON, fadeIn, stay, fadeOut);
  24. PacketPlayOutTitle subtitlePacket = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, subtitleJSON);
  25. connection.sendPacket(titlePacket);
  26. connection.sendPacket(subtitlePacket);
  27. }
  28.  
  29. public static void sendActionBar(Player p, String msg){
  30. IChatBaseComponent cbc = ChatSerializer.a("{\"text\": \""+msg+"\"}");
  31. PacketPlayOutChat ppoc = new PacketPlayOutChat(cbc,(byte) 2);
  32. ((CraftPlayer) p).getHandle().playerConnection.sendPacket(ppoc);
  33. }
  34.  
  35. public static void sendHeaderAndFooter(Player p, String head, String foot){
  36. CraftPlayer craftplayer = (CraftPlayer)p;
  37. PlayerConnection connection = craftplayer.getHandle().playerConnection;
  38. IChatBaseComponent header = ChatSerializer.a("{'color': '" + "', 'text': '" + head + "'}");
  39. IChatBaseComponent footer = ChatSerializer.a("{'color': '" + "', 'text': '" + foot + "'}");
  40. PacketPlayOutPlayerListHeaderFooter packet = new PacketPlayOutPlayerListHeaderFooter();
  41.  
  42. try {
  43. Field headerField = packet.getClass().getDeclaredField("a");
  44. headerField.setAccessible(true);
  45. headerField.set(packet, header);
  46. headerField.setAccessible(!headerField.isAccessible());
  47.  
  48. Field footerField = packet.getClass().getDeclaredField("b");
  49. footerField.setAccessible(true);
  50. footerField.set(packet, footer);
  51. footerField.setAccessible(!footerField.isAccessible());
  52. } catch (Exception e) {
  53. e.printStackTrace();
  54. }
  55. connection.sendPacket(packet);
  56. }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement