From d1135bd190e3cb9a5a6fae60b398ca76a5ae8579 Mon Sep 17 00:00:00 2001 From: Andrew Steinborn Date: Tue, 7 Sep 2021 07:38:30 -0400 Subject: [PATCH] Allow the BungeeCord plugin messaging channel to be used by the server at transition time --- .../proxy/connection/backend/TransitionSessionHandler.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/TransitionSessionHandler.java b/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/TransitionSessionHandler.java index 356825841..3cb811ba5 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/TransitionSessionHandler.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/TransitionSessionHandler.java @@ -51,6 +51,7 @@ public class TransitionSessionHandler implements MinecraftSessionHandler { private final VelocityServer server; private final VelocityServerConnection serverConn; private final CompletableFuture resultFuture; + private final BungeeCordMessageResponder bungeecordMessageResponder; /** * Creates the new transition handler. @@ -64,6 +65,8 @@ public class TransitionSessionHandler implements MinecraftSessionHandler { this.server = server; this.serverConn = serverConn; this.resultFuture = resultFuture; + this.bungeecordMessageResponder = new BungeeCordMessageResponder(server, + serverConn.getPlayer()); } @Override @@ -168,6 +171,10 @@ public class TransitionSessionHandler implements MinecraftSessionHandler { @Override public boolean handle(PluginMessage packet) { + if (bungeecordMessageResponder.process(packet)) { + return true; + } + if (PluginMessageUtil.isRegister(packet)) { serverConn.getPlayer().getKnownChannels().addAll(PluginMessageUtil.getChannels(packet)); } else if (PluginMessageUtil.isUnregister(packet)) {