Advertisement
Guest User

Untitled

a guest
Jun 30th, 2020
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.39 KB | None | 0 0
  1. private static Class<?> getNMSClass(String nmsClassString) throws ClassNotFoundException {
  2.           String version = Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3] + ".";
  3.           String name = "net.minecraft.server." + version + nmsClassString;
  4.           Class<?> nmsClass = Class.forName(name);
  5.           return nmsClass;
  6. }
  7.    
  8. private static Object getConnection(Player player) throws SecurityException, NoSuchMethodException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
  9.           Method getHandle = player.getClass().getMethod("getHandle");
  10.           Object nmsPlayer = getHandle.invoke(player);
  11.           Field conField = nmsPlayer.getClass().getField("playerConnection");
  12.           Object con = conField.get(nmsPlayer);
  13.           return con;
  14. }
  15.  
  16.  
  17. private static void sendPacket(Player player, int number) {
  18.           try {
  19.              Class<?> packetClass = getNMSClass("PacketPlayOutGameStateChange");
  20.              Constructor<?> packetConstructor = packetClass.getConstructor(Integer.TYPE, Float.TYPE);
  21.              Object packet = packetConstructor.newInstance(7, number);
  22.              Method sendPacket = getNMSClass("PlayerConnection").getMethod("sendPacket", getNMSClass("Packet"));
  23.              sendPacket.invoke(getConnection(player), packet);
  24.           } catch (Exception e) {
  25.               System.out.println("Error with packages!");
  26.           }
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement