From 5e0d01dc9db7fbfbe57f07e5f652e60ba7153542 Mon Sep 17 00:00:00 2001 From: Presti Date: Sun, 9 Jul 2023 05:25:42 +0200 Subject: [PATCH] Adjustment. --- .../java/de/presti/trollv4/api/Packets.java | 15 +------- .../trollv4/utils/crossversion/Titles.java | 35 ++----------------- 2 files changed, 4 insertions(+), 46 deletions(-) diff --git a/src/main/java/de/presti/trollv4/api/Packets.java b/src/main/java/de/presti/trollv4/api/Packets.java index c8f1b90..801cbe5 100644 --- a/src/main/java/de/presti/trollv4/api/Packets.java +++ b/src/main/java/de/presti/trollv4/api/Packets.java @@ -1,7 +1,5 @@ package de.presti.trollv4.api; -import org.bukkit.entity.Player; - public class Packets { public static Class getNMSClass(String name) { @@ -9,19 +7,8 @@ public static Class getNMSClass(String name) { try { return Class.forName("net.minecraft.server." + version + "." + name); } catch (ClassNotFoundException e) { - System.out.println("Your Server Version isnt Supporting this Packet! (" + name + ")"); + System.out.println("Your Server Version isn't supporting this Packet! (" + name + ")"); } return null; } - - public static void sendPacket(Player player, Object packet) { - try { - Object handle = player.getClass().getMethod("getHandle", new Class[0]).invoke(player, new Object[0]); - Object playerConnection = handle.getClass().getField("playerConnection").get(handle); - playerConnection.getClass().getMethod("sendPacket", new Class[] { getNMSClass("Packet") }) - .invoke(playerConnection, new Object[] { packet }); - } catch (Exception e) { - System.out.println("Your Server Version isnt Supporting this Packet! (" + packet + ")"); - } - } } diff --git a/src/main/java/de/presti/trollv4/utils/crossversion/Titles.java b/src/main/java/de/presti/trollv4/utils/crossversion/Titles.java index 908cee8..1572529 100644 --- a/src/main/java/de/presti/trollv4/utils/crossversion/Titles.java +++ b/src/main/java/de/presti/trollv4/utils/crossversion/Titles.java @@ -1,46 +1,17 @@ package de.presti.trollv4.utils.crossversion; -import java.lang.reflect.Constructor; - -import com.comphenix.protocol.PacketType; -import com.comphenix.protocol.ProtocolLibrary; -import com.comphenix.protocol.events.PacketContainer; -import com.comphenix.protocol.wrappers.EnumWrappers; -import com.comphenix.protocol.wrappers.WrappedChatComponent; -import de.presti.trollv4.logging.Logger; -import de.presti.trollv4.main.Main; import org.bukkit.entity.Player; -import de.presti.trollv4.api.Packets; - public class Titles { - - public static void sendTitle(Player player, Integer fadeIn, Integer stay, Integer fadeOut, String title, String subtitle) { + public static void sendTitle(Player player, int fadeIn, int stay, int fadeOut, String title, String subtitle) { send(player, fadeIn, stay, fadeOut, title, subtitle); } - public static void send(Player player, Integer fadeIn, Integer stay, Integer fadeOut, String title, String subtitle) { + public static void send(Player player, int fadeIn, int stay, int fadeOut, String title, String subtitle) { try { player.sendTitle(title, subtitle, fadeIn, stay, fadeOut); } catch (Exception exception) { - Logger.error("We couldn't send a Title with the default player.sendTitle methode, trying Packets now!"); - try { - Object chat = Packets.getNMSClass("IChatBaseComponent").getDeclaredClasses()[0].getMethod("a", new Class[]{String.class}).invoke(null, new Object[]{"{\"text\":\"" + title + "\"}"}); - Constructor Constructor = Packets.getNMSClass("PacketPlayOutTitle").getConstructor(new Class[]{Packets.getNMSClass("PacketPlayOutTitle").getDeclaredClasses()[0], Packets.getNMSClass("IChatBaseComponent"), Integer.TYPE, Integer.TYPE, Integer.TYPE}); - Object timePacket = Constructor.newInstance(new Object[]{Packets.getNMSClass("PacketPlayOutTitle").getDeclaredClasses()[0].getField("TIMES").get(null), chat, fadeIn, stay, fadeOut}); - Constructor = Packets.getNMSClass("PacketPlayOutTitle").getConstructor(new Class[]{Packets.getNMSClass("PacketPlayOutTitle").getDeclaredClasses()[0], Packets.getNMSClass("IChatBaseComponent")}); - Object titlePacket = Constructor.newInstance(new Object[]{Packets.getNMSClass("PacketPlayOutTitle").getDeclaredClasses()[0].getField("TITLE").get(null), chat}); - chat = Packets.getNMSClass("IChatBaseComponent").getDeclaredClasses()[0].getMethod("a", new Class[]{String.class}).invoke(null, new Object[]{"{\"text\":\"" + subtitle + "\"}"}); - Object subtitlePacket = Constructor.newInstance(new Object[]{Packets.getNMSClass("PacketPlayOutTitle").getDeclaredClasses()[0].getField("SUBTITLE").get(null), chat}); - - Packets.sendPacket(player, timePacket); - Packets.sendPacket(player, titlePacket); - Packets.sendPacket(player, subtitlePacket); - } catch (Exception exception1) { - Logger.error("We couldn't send a Title over the player.sendTitle methode, and neither did the Packets work."); - exception.printStackTrace(); - exception1.printStackTrace(); - } + com.cryptomorin.xseries.messages.Titles.sendTitle(player, fadeIn, stay, fadeOut, title, subtitle); } } }