Class ProtocolTranslator

java.lang.Object
com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator

public final class ProtocolTranslator extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final com.viaversion.viaversion.api.protocol.version.ProtocolVersion
    Protocol version that is used to enable protocol auto-detect
    static final io.netty.util.AttributeKey<net.minecraft.network.Connection>
    Internal state tracking for the game client connection, used in various Via providers
    static final com.viaversion.viaversion.api.protocol.version.ProtocolVersion
    The native version of the client
    static final io.netty.util.AttributeKey<com.viaversion.viaversion.api.protocol.version.ProtocolVersion>
    Stores the target version ViaVersion is translating to.
    static final String
    Name of the FlowControlHandler added to the pipeline
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static com.viaversion.viaversion.api.connection.UserConnection
    createDummyUserConnection(com.viaversion.viaversion.api.protocol.version.ProtocolVersion clientVersion, com.viaversion.viaversion.api.protocol.version.ProtocolVersion serverVersion)
     
    static com.viaversion.viaversion.api.connection.UserConnection
     
    static com.viaversion.viaversion.api.protocol.version.ProtocolVersion
     
    static com.viaversion.viaversion.api.protocol.version.ProtocolVersion
    getTargetVersion(io.netty.channel.Channel channel)
     
    init(Path path)
    This method is used to initialize the whole Protocol Translator
    static void
    injectPreviousVersionReset(io.netty.channel.Channel channel)
    Resets the previous version if it is set.
    static void
    injectViaPipeline(net.minecraft.network.Connection connection, io.netty.channel.Channel channel)
    Injects the ViaFabricPlus pipeline with all ViaVersion elements into a Minecraft pipeline
    static void
    setTargetVersion(com.viaversion.viaversion.api.protocol.version.ProtocolVersion newVersion)
     
    static void
    setTargetVersion(com.viaversion.viaversion.api.protocol.version.ProtocolVersion newVersion, boolean revertOnDisconnect)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • CLIENT_CONNECTION_ATTRIBUTE_KEY

      public static final io.netty.util.AttributeKey<net.minecraft.network.Connection> CLIENT_CONNECTION_ATTRIBUTE_KEY
      Internal state tracking for the game client connection, used in various Via providers
    • TARGET_VERSION_ATTRIBUTE_KEY

      public static final io.netty.util.AttributeKey<com.viaversion.viaversion.api.protocol.version.ProtocolVersion> TARGET_VERSION_ATTRIBUTE_KEY
      Stores the target version ViaVersion is translating to. This will always be set, even if the NATIVE_VERSION is set.
    • NATIVE_VERSION

      public static final com.viaversion.viaversion.api.protocol.version.ProtocolVersion NATIVE_VERSION
      The native version of the client
    • VIA_FLOW_CONTROL

      public static final String VIA_FLOW_CONTROL
      Name of the FlowControlHandler added to the pipeline
      See Also:
    • AUTO_DETECT_PROTOCOL

      public static final com.viaversion.viaversion.api.protocol.version.ProtocolVersion AUTO_DETECT_PROTOCOL
      Protocol version that is used to enable protocol auto-detect
  • Constructor Details

    • ProtocolTranslator

      public ProtocolTranslator()
  • Method Details

    • injectViaPipeline

      public static void injectViaPipeline(net.minecraft.network.Connection connection, io.netty.channel.Channel channel)
      Injects the ViaFabricPlus pipeline with all ViaVersion elements into a Minecraft pipeline
      Parameters:
      connection - the Minecraft connection
    • getTargetVersion

      public static com.viaversion.viaversion.api.protocol.version.ProtocolVersion getTargetVersion()
    • getTargetVersion

      public static com.viaversion.viaversion.api.protocol.version.ProtocolVersion getTargetVersion(io.netty.channel.Channel channel)
    • setTargetVersion

      public static void setTargetVersion(com.viaversion.viaversion.api.protocol.version.ProtocolVersion newVersion)
    • setTargetVersion

      public static void setTargetVersion(com.viaversion.viaversion.api.protocol.version.ProtocolVersion newVersion, boolean revertOnDisconnect)
    • injectPreviousVersionReset

      public static void injectPreviousVersionReset(io.netty.channel.Channel channel)
      Resets the previous version if it is set. Calling setTargetVersion(ProtocolVersion, boolean) with revertOnDisconnect set to true will set it.
    • createDummyUserConnection

      public static com.viaversion.viaversion.api.connection.UserConnection createDummyUserConnection(com.viaversion.viaversion.api.protocol.version.ProtocolVersion clientVersion, com.viaversion.viaversion.api.protocol.version.ProtocolVersion serverVersion)
    • getPlayNetworkUserConnection

      public static com.viaversion.viaversion.api.connection.UserConnection getPlayNetworkUserConnection()
    • init

      public static CompletableFuture<Void> init(Path path)
      This method is used to initialize the whole Protocol Translator
      Parameters:
      path - The path where the ViaVersion config files are located
      Returns:
      A CompletableFuture that will be completed when the initialization is done