diff --git a/bungee/src/main/java/us/myles/ViaVersion/bungee/handlers/BungeeServerHandler.java b/bungee/src/main/java/us/myles/ViaVersion/bungee/handlers/BungeeServerHandler.java index 5bb6406ba..bc3cbf633 100644 --- a/bungee/src/main/java/us/myles/ViaVersion/bungee/handlers/BungeeServerHandler.java +++ b/bungee/src/main/java/us/myles/ViaVersion/bungee/handlers/BungeeServerHandler.java @@ -117,6 +117,10 @@ public class BungeeServerHandler implements Listener { } } + info.setServerProtocolVersion(protocolId); + // Add version-specific base Protocol + pipeline.add(ProtocolRegistry.getBaseProtocol(protocolId)); + user.put(info); user.put(storage); diff --git a/common/src/main/java/us/myles/ViaVersion/api/protocol/Protocol.java b/common/src/main/java/us/myles/ViaVersion/api/protocol/Protocol.java index c2c5a8711..53692398b 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/protocol/Protocol.java +++ b/common/src/main/java/us/myles/ViaVersion/api/protocol/Protocol.java @@ -72,6 +72,7 @@ public abstract class Protocol { /** * Initialise a user for this protocol setting up objects. + * /!\ WARNING - May be called more than once in a single {@link UserConnection} * * @param userConnection The user to initialise */ diff --git a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolPipeline.java b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolPipeline.java index f89881bab..6b6d37534 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolPipeline.java +++ b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolPipeline.java @@ -16,7 +16,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; public class ProtocolPipeline extends Protocol { - List protocolList; + private List protocolList; private UserConnection userConnection; public ProtocolPipeline(UserConnection userConnection) { @@ -48,7 +48,7 @@ public class ProtocolPipeline extends Protocol { /** * Add a protocol to the current pipeline - * This will call the Protocol#init method. + * This will call the {@link Protocol#init(UserConnection)} method. * * @param protocol The protocol to add to the end */ @@ -174,6 +174,10 @@ public class ProtocolPipeline extends Protocol { return protocolList; } + /** + * Cleans the pipe and adds {@link us.myles.ViaVersion.protocols.base.BaseProtocol} + * /!\ WARNING - It doesn't add version-specific base Protocol + */ public void cleanPipes() { pipes().clear(); registerPackets();