Package-level declarations

Types

Link copied to clipboard

The player avatar class represents an avatar for the purposes of player information packet. Every player will have a respective avatar that contains basic information about that player, such as their coordinates and how far to render other players.

Link copied to clipboard
class PlayerAvatarExtendedInfo(localIndex: Int, filter: ExtendedInfoFilter, extendedInfoWriters: List<PlayerAvatarExtendedInfoWriter>, allocator: ByteBufAllocator, huffmanCodec: HuffmanCodecProvider)

This data structure keeps track of all the extended info blocks for a given player avatar.

Link copied to clipboard

A data structure to bring all the extended info blocks together, so the information can be passed onto various client-specific encoders.

Link copied to clipboard
class PlayerAvatarFactory(allocator: ByteBufAllocator, extendedInfoFilter: ExtendedInfoFilter, extendedInfoWriter: List<PlayerAvatarExtendedInfoWriter>, huffmanCodec: HuffmanCodecProvider)
Link copied to clipboard

An implementation of the player info packet. This class is responsible for tracking and building the packets each cycle. This class utilizes ReferencePooledObject, meaning instances of it will be pooled and re-used as needed, as the data stored within them is relatively memory-heavy.

Link copied to clipboard
class PlayerInfoPacket(buffer: ByteBuf) : DefaultByteBufHolder, OutgoingGameMessage, ConsumableMessage

A npc info packet class, wrapped in its own byte buf holder as the packet encoder is only invoked through Netty threads, therefore it is not safe to strictly pass the reference from player info itself.

Link copied to clipboard
class PlayerInfoProtocol(allocator: ByteBufAllocator, worker: ProtocolWorker = DefaultProtocolWorker(), avatarFactory: PlayerAvatarFactory)

The player info protocol is responsible for tracking everything player info related within the given world. This class holds every avatar, their state, and provides means to allocate new player info instances.