Interface ViaAPI<T>

Type Parameters:
T - player type for the specific platform

public interface ViaAPI<T>
General api point. For more specialized api methods, see Via.getManager().
See Also:
  • Method Details

    • majorVersion

      default int majorVersion()
      Returns the major version matching getVersion(). It is highly advised to check against the major version and to disable/not initiate any hooks into ViaVersion if given and expected versions do not match.
      Returns:
      major plugin version
      Since:
      4.0.2
    • apiVersion

      default int apiVersion()
      Returns an internally based API version incremented with meaningful API changes. This includes breaking changes to existing API and larger additions.
      Returns:
      API version incremented with meaningful API changes
    • getServerVersion

      ServerProtocolVersion getServerVersion()
      Returns the server's protocol version info.
      Returns:
      the server's protocol version info
    • getPlayerVersion

      default int getPlayerVersion(T player)
      Returns the protocol version of a player.
      Parameters:
      player - the platform's player object, e.g. Bukkit this is Player
      Returns:
      protocol version, for example (47=1.8-1.8.8, 107=1.9, 108=1.9.1), or -1 if no longer connected
    • getPlayerProtocolVersion

      ProtocolVersion getPlayerProtocolVersion(T player)
      Returns the protocol version of a player.
      Parameters:
      player - the platform's player object, e.g. Bukkit this is Player
      Returns:
      the protocol version object (see ProtocolVersion), or ProtocolVersion.unknown if not connected
    • getPlayerVersion

      default int getPlayerVersion(UUID uuid)
      Returns the protocol version of a player.
      Parameters:
      uuid - UUID of a player
      Returns:
      protocol version, for example (47=1.8-1.8.8, 107=1.9, 108=1.9.1), or -1 if not connected
    • getPlayerProtocolVersion

      ProtocolVersion getPlayerProtocolVersion(UUID uuid)
      Returns the protocol version of a player.
      Parameters:
      uuid - UUID of a player
      Returns:
      the protocol version object (see ProtocolVersion), or ProtocolVersion.unknown if not connected
    • isInjected

      boolean isInjected(UUID uuid)
      Returns whether Via injected into this player connection.
      Parameters:
      uuid - uuid of the player
      Returns:
      whether Via has a cached a UserConnection for this player
    • getConnection

      @Nullable UserConnection getConnection(UUID uuid)
      Returns the Via injected UserConnection if present.
      Parameters:
      uuid - uuid of the player
      Returns:
      user connection if present
    • getVersion

      String getVersion()
      Returns the version of the plugin.
      Returns:
      plugin version
    • sendRawPacket

      void sendRawPacket(T player, io.netty.buffer.ByteBuf packet)
      Sends a raw packet to the player.
      Parameters:
      player - the platform's player object, e.g. for Bukkit this is Player
      packet - the packet; you need a VarInt id, then the packet contents
      Throws:
      IllegalArgumentException - if the player is not injected by Via
    • sendRawPacket

      void sendRawPacket(UUID uuid, io.netty.buffer.ByteBuf packet)
      Sends a raw packet to the player.
      Parameters:
      uuid - the uuid from the player to send packet
      packet - the packet; you need a VarInt id, then the packet contents
      Throws:
      IllegalArgumentException - if the player is not injected by Via
    • getSupportedVersions

      @Deprecated default SortedSet<Integer> getSupportedVersions()
      Deprecated.
    • getFullSupportedVersions

      @Deprecated default SortedSet<Integer> getFullSupportedVersions()
      Deprecated.
    • getSupportedProtocolVersions

      SortedSet<ProtocolVersion> getSupportedProtocolVersions()
      Returns the supported protocol versions. This method removes any blocked protocol versions.
      Returns:
      a sorted set of protocol versions
      See Also:
    • getFullSupportedProtocolVersions

      SortedSet<ProtocolVersion> getFullSupportedProtocolVersions()
      Returns the supported protocol versions, including blocked protocols.
      Returns:
      a sorted set of protocol versions
    • legacyAPI

      LegacyViaAPI<T> legacyAPI()
      Returns legacy api only applicable on/to legacy versions.

      These methods are safe to use and are unlikely to be removed, but it is important to be aware of their limited use.

      Returns:
      legacy api only applicable on/to legacy versions