Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.jonhshepard.castle.GameUtils;
- import java.lang.reflect.Field;
- import net.minecraft.server.v1_8_R1.ChatSerializer;
- import net.minecraft.server.v1_8_R1.EnumTitleAction;
- import net.minecraft.server.v1_8_R1.IChatBaseComponent;
- import net.minecraft.server.v1_8_R1.PacketPlayOutChat;
- import net.minecraft.server.v1_8_R1.PacketPlayOutPlayerListHeaderFooter;
- import net.minecraft.server.v1_8_R1.PacketPlayOutTitle;
- import org.bukkit.craftbukkit.v1_8_R1.entity.CraftPlayer;
- import org.bukkit.entity.Player;
- public class TitleSender {
- public static void sendTitle(Player player, String msg, int fadeIn, int stayT, int fadeOut) {
- IChatBaseComponent chatTitle = ChatSerializer.a("{\"text\": \"" + msg + "\"}");
- PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, chatTitle, fadeIn, stayT, fadeOut);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title);
- }
- public static void sendSubTitle(Player player, String msg, int fadeIn, int stayT, int fadeOut) {
- IChatBaseComponent chatTitle = ChatSerializer.a("{\"text\": \"" + msg + "\"}");
- PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, chatTitle, fadeIn, stayT, fadeOut);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title);
- }
- public static void setPlayerList(Player player, String header, String footer){
- IChatBaseComponent hj = ChatSerializer.a("{\"text\": \"" + header + "\"}");
- IChatBaseComponent fj = ChatSerializer.a("{\"text\": \"" + footer + "\"}");
- PacketPlayOutPlayerListHeaderFooter packet = (PacketPlayOutPlayerListHeaderFooter) constructHeaderAndFooterPacket(hj, fj);
- ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet);
- }
- public static void setPlayerList1(Player player, String header, String footer){
- IChatBaseComponent hj = ChatSerializer.a("{\"text\": \"" + header + "\"}");
- IChatBaseComponent fj = ChatSerializer.a("{\"text\": \"" + footer + "\"}");
- PacketPlayOutPlayerListHeaderFooter packet = (PacketPlayOutPlayerListHeaderFooter) constructHeaderAndFooterPacket(hj, fj);
- ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet);
- }
- public static void clear(Player player) {
- IChatBaseComponent chatTitle = ChatSerializer.a("{\"text\": \"" + "" + "\"}");
- PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.RESET, chatTitle);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title);
- }
- public static void sendActionBar(Player player, String message){
- IChatBaseComponent cbc = ChatSerializer.a("{\"text\": \"" + message + "\"}");
- PacketPlayOutChat ppoc = new PacketPlayOutChat(cbc, (byte) 2);
- ((CraftPlayer)player).getHandle().playerConnection.sendPacket(ppoc);
- }
- private static Object constructHeaderAndFooterPacket(Object header, Object footer){
- try{
- Object packet = PacketPlayOutPlayerListHeaderFooter.class.newInstance();
- if(header != null){
- Field field = PacketPlayOutPlayerListHeaderFooter.class.getDeclaredField("a");
- field.setAccessible(true);
- field.set(packet, header);
- field.setAccessible(false);
- }
- if(footer != null){
- Field field = PacketPlayOutPlayerListHeaderFooter.class.getDeclaredField("b");
- field.setAccessible(true);
- field.set(packet, footer);
- field.setAccessible(false);
- }
- return packet;
- }catch (InstantiationException | IllegalAccessException | NoSuchFieldException e){
- e.printStackTrace();
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement