Interface PlayerInjectionHandler
- All Known Implementing Classes:
AbstractPlayerInjectionHandler
public interface PlayerInjectionHandler
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumHow to handle a previously existing player injection. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddPacketHandler(PacketType type, Set<ListenerOptions> options) Add an underlying packet handler of the given type.booleanWhether or not this player injection handler can also receive packets.voidcheckListener(PacketListener listener) Determine if a listener is valid or not.voidcheckListener(Set<PacketListener> listeners) Determine if the given listeners are valid.voidclose()Close any lingering proxy injections.io.netty.channel.ChannelgetChannel(org.bukkit.entity.Player player) intgetProtocolVersion(org.bukkit.entity.Player player) Retrieve the protocol version of the given player.Retrieve the current list of registered sending listeners.voidhandleDisconnect(org.bukkit.entity.Player player) Invoke special routines for handling disconnect before a player is uninjected.booleanDetermine if we have packet listeners with the given type that must be executed on the main thread.voidinjectPlayer(org.bukkit.entity.Player player, PlayerInjectionHandler.ConflictStrategy strategy) Initialize a player hook, allowing us to read server packets.voidreceiveClientPacket(org.bukkit.entity.Player player, Object mcPacket) Process a packet as if it were sent by the given player.voidRemove an underlying packet handler of this type.voidsendServerPacket(org.bukkit.entity.Player receiver, PacketContainer packet, NetworkMarker marker, boolean filters) Send the given packet to the given receiver.booleanuninjectPlayer(org.bukkit.entity.Player player) Uninject the given player.voidupdatePlayer(org.bukkit.entity.Player player) Ensure that packet readers are informed of this player reference.
-
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
Add an underlying packet handler of the given type.- Parameters:
type- - packet type to register.options- - any specified listener options.
-
removePacketHandler
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
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
Determine if the given listeners are valid.- Parameters:
listeners- - listeners to check.
-
checkListener
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
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)
-