Advertisement
Guest User

Untitled

a guest
Nov 25th, 2015
898
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.05 KB | None | 0 0
  1. public static void sendActionBar(Player player, String message){
  2.         try {
  3.             String nmsver = Bukkit.getServer().getClass().getPackage().getName();
  4.             nmsver = nmsver.substring(nmsver.lastIndexOf(".") + 1);
  5.  
  6.             Class<?> c1 = Class.forName("org.bukkit.craftbukkit." + nmsver + ".entity.CraftPlayer");
  7.             Object p = c1.cast(player);
  8.             Object ppoc = null;
  9.             Class<?> c4 = Class.forName("net.minecraft.server." + nmsver + ".PacketPlayOutChat");
  10.             Class<?> c5 = Class.forName("net.minecraft.server." + nmsver + ".Packet");
  11.             if (nmsver.equalsIgnoreCase("v1_8_R1") || !nmsver.startsWith("v1_8_")) {
  12.                 Class<?> c2 = Class.forName("net.minecraft.server." + nmsver + ".ChatSerializer");
  13.                 Class<?> c3 = Class.forName("net.minecraft.server." + nmsver + ".IChatBaseComponent");
  14.                 Method m3 = c2.getDeclaredMethod("a", new Class<?>[] {String.class});
  15.                 Object cbc = c3.cast(m3.invoke(c2, "{\"text\": \"" + message + "\"}"));
  16.                 ppoc = c4.getConstructor(new Class<?>[] {c3, byte.class}).newInstance(new Object[] {cbc, (byte) 2});
  17.             } else {
  18.                 Class<?> c2 = Class.forName("net.minecraft.server." + nmsver + ".ChatComponentText");
  19.                 Class<?> c3 = Class.forName("net.minecraft.server." + nmsver + ".IChatBaseComponent");
  20.                 Object o = c2.getConstructor(new Class<?>[] {String.class}).newInstance(new Object[] {message});
  21.                 ppoc = c4.getConstructor(new Class<?>[] {c3, byte.class}).newInstance(new Object[] {o, (byte) 2});
  22.             }
  23.             Method m1 = c1.getDeclaredMethod("getHandle", new Class<?>[] {});
  24.             Object h = m1.invoke(p);
  25.             Field f1 = h.getClass().getDeclaredField("playerConnection");
  26.             Object pc = f1.get(h);
  27.             Method m5 = pc.getClass().getDeclaredMethod("sendPacket",new Class<?>[] {c5});
  28.             m5.invoke(pc, ppoc);
  29.         } catch (Exception ex) {
  30.             ex.printStackTrace();
  31.         }
  32.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement