From 9518848c62d53b470de2b6b70101b0bf505c9f5f Mon Sep 17 00:00:00 2001 From: Pyrbu Date: Wed, 13 Sep 2023 07:13:21 +0200 Subject: [PATCH] add back bungee channel registration --- .../src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java | 3 +++ .../java/lol/pyr/znpcsplus/util/BungeeUtil.java | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java index 8b822c1..ea9e984 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java @@ -146,6 +146,9 @@ public class ZNpcsPlus extends JavaPlugin { log(ChatColor.WHITE + " * Registerring components..."); + BungeeUtil.registerChannel(this); + shutdownTasks.add(() -> BungeeUtil.unregisterChannel(this)); + typeRegistry.registerDefault(packetEvents, propertyRegistry); actionRegistry.registerTypes(scheduler, adventure, textSerializer); packetEvents.getEventManager().registerListener(new InteractionPacketListener(userManager, npcRegistry, scheduler), PacketListenerPriority.MONITOR); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/util/BungeeUtil.java b/plugin/src/main/java/lol/pyr/znpcsplus/util/BungeeUtil.java index d1263c3..87f2bb8 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/util/BungeeUtil.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/util/BungeeUtil.java @@ -4,11 +4,15 @@ import com.github.retrooper.packetevents.PacketEvents; import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPluginMessage; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; +import org.bukkit.Bukkit; import org.bukkit.entity.Player; +import org.bukkit.plugin.Plugin; public class BungeeUtil { + private final static String CHANNEL_NAME = "BungeeCord"; + public static void connectPlayer(Player player, String server) { - PacketEvents.getAPI().getPlayerManager().sendPacket(player, new WrapperPlayServerPluginMessage("BungeeCord", createMessage("Connect", server))); + PacketEvents.getAPI().getPlayerManager().sendPacket(player, new WrapperPlayServerPluginMessage(CHANNEL_NAME, createMessage("Connect", server))); } @SuppressWarnings("UnstableApiUsage") @@ -17,4 +21,12 @@ public class BungeeUtil { for (String part : parts) out.writeUTF(part); return out.toByteArray(); } + + public static void registerChannel(Plugin plugin) { + Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, CHANNEL_NAME); + } + + public static void unregisterChannel(Plugin plugin) { + Bukkit.getMessenger().unregisterOutgoingPluginChannel(plugin, CHANNEL_NAME); + } }