add back bungee channel registration

This commit is contained in:
Pyrbu 2023-09-13 07:13:21 +02:00
parent f30bb1a6df
commit 9518848c62
2 changed files with 16 additions and 1 deletions

@ -146,6 +146,9 @@ public class ZNpcsPlus extends JavaPlugin {
log(ChatColor.WHITE + " * Registerring components..."); log(ChatColor.WHITE + " * Registerring components...");
BungeeUtil.registerChannel(this);
shutdownTasks.add(() -> BungeeUtil.unregisterChannel(this));
typeRegistry.registerDefault(packetEvents, propertyRegistry); typeRegistry.registerDefault(packetEvents, propertyRegistry);
actionRegistry.registerTypes(scheduler, adventure, textSerializer); actionRegistry.registerTypes(scheduler, adventure, textSerializer);
packetEvents.getEventManager().registerListener(new InteractionPacketListener(userManager, npcRegistry, scheduler), PacketListenerPriority.MONITOR); packetEvents.getEventManager().registerListener(new InteractionPacketListener(userManager, npcRegistry, scheduler), PacketListenerPriority.MONITOR);

@ -4,11 +4,15 @@ import com.github.retrooper.packetevents.PacketEvents;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPluginMessage; import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPluginMessage;
import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams; import com.google.common.io.ByteStreams;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
public class BungeeUtil { public class BungeeUtil {
private final static String CHANNEL_NAME = "BungeeCord";
public static void connectPlayer(Player player, String server) { 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") @SuppressWarnings("UnstableApiUsage")
@ -17,4 +21,12 @@ public class BungeeUtil {
for (String part : parts) out.writeUTF(part); for (String part : parts) out.writeUTF(part);
return out.toByteArray(); 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);
}
} }