craftim_74

Untitled

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