Interface PlayerInjectionHandler

All Known Implementing Classes:
AbstractPlayerInjectionHandler

public interface PlayerInjectionHandler
  • Method Details

    • getProtocolVersion

      int getProtocolVersion(org.bukkit.entity.Player player)
      Retrieve the protocol version of the given player.
      Parameters:
      player - - the player.
      Returns:
      The protocol version, or Integer.MIN_VALUE.
    • addPacketHandler

      void addPacketHandler(PacketType type, Set<ListenerOptions> options)
      Add an underlying packet handler of the given type.
      Parameters:
      type - - packet type to register.
      options - - any specified listener options.
    • removePacketHandler

      void removePacketHandler(PacketType type)
      Remove an underlying packet handler of this type.
      Parameters:
      type - - packet type to unregister.
    • injectPlayer

      void injectPlayer(org.bukkit.entity.Player player, PlayerInjectionHandler.ConflictStrategy strategy)
      Initialize a player hook, allowing us to read server packets.

      This call will be ignored if there's no listener that can receive the given events.

      Parameters:
      player - - player to hook.
      strategy - - how to handle injection conflicts.
    • handleDisconnect

      void handleDisconnect(org.bukkit.entity.Player player)
      Invoke special routines for handling disconnect before a player is uninjected.
      Parameters:
      player - - player to process.
    • uninjectPlayer

      boolean uninjectPlayer(org.bukkit.entity.Player player)
      Uninject the given player.
      Parameters:
      player - - player to uninject.
      Returns:
      TRUE if a player has been uninjected, FALSE otherwise.
    • sendServerPacket

      void sendServerPacket(org.bukkit.entity.Player receiver, PacketContainer packet, NetworkMarker marker, boolean filters)
      Send the given packet to the given receiver.
      Parameters:
      receiver - - the player receiver.
      packet - - the packet to send.
      marker - - network marker.
      filters - - whether or not to invoke the packet filters.
    • receiveClientPacket

      void receiveClientPacket(org.bukkit.entity.Player player, Object mcPacket)
      Process a packet as if it were sent by the given player.
      Parameters:
      player - - the sender.
      mcPacket - - the packet to process.
    • updatePlayer

      void updatePlayer(org.bukkit.entity.Player player)
      Ensure that packet readers are informed of this player reference.
      Parameters:
      player - - the player to update.
    • checkListener

      void checkListener(Set<PacketListener> listeners)
      Determine if the given listeners are valid.
      Parameters:
      listeners - - listeners to check.
    • checkListener

      void checkListener(PacketListener listener)
      Determine if a listener is valid or not.

      If not, a warning will be printed to the console.

      Parameters:
      listener - - listener to check.
    • getSendingFilters

      Set<PacketType> getSendingFilters()
      Retrieve the current list of registered sending listeners.
      Returns:
      List of the sending listeners's packet IDs.
    • canReceivePackets

      boolean canReceivePackets()
      Whether or not this player injection handler can also receive packets.
      Returns:
      TRUE if it can, FALSE otherwise.
    • close

      void close()
      Close any lingering proxy injections.
    • hasMainThreadListener

      boolean hasMainThreadListener(PacketType type)
      Determine if we have packet listeners with the given type that must be executed on the main thread.
      Parameters:
      type - - the packet type.
      Returns:
      TRUE if we do, FALSE otherwise.
    • getChannel

      io.netty.channel.Channel getChannel(org.bukkit.entity.Player player)