class Rosegold::Clientbound::PlayerInfoUpdate

Included Modules

Defined in:

rosegold/packets/clientbound/player_info_update.cr

Constant Summary

ADD_PLAYER = 1_u8

Action flags (bitfield)

INITIALIZE_CHAT = 2_u8
PROTOCOL_PACKET_IDS = {772_u32 => 63_u8}

Store the protocol mappings as a constant

UPDATE_DISPLAY_NAME = 32_u8
UPDATE_GAMEMODE = 4_u8
UPDATE_LATENCY = 16_u8
UPDATE_LISTED = 8_u8

Constructors

Class Method Summary

Instance Method Summary

Macros inherited from module Rosegold::Packets::ProtocolMapping

packet_ids(mappings) packet_ids

Class methods inherited from class Rosegold::Clientbound::Packet

new_raw(bytes) new_raw, state state

Instance methods inherited from class Rosegold::Packet

callback(client_or_server) callback, to_s(io) to_s, write : Bytes write

Constructor Detail

def self.new(actions : UInt8, players : Array(Rosegold::Clientbound::PlayerInfoUpdate::PlayerEntry)) #

[View source]

Class Method Detail

def self.[](protocol_version : UInt32) : UInt8 #

Generate the method for elegant access


[View source]
def self.add_player(uuid : UUID, name : String, gamemode : Int32 = 0, latency : Int32 = 0, properties : Array(PlayerEntry::Property) | Nil = nil) #

Convenience method to create an "Add Player" packet


[View source]
def self.default_packet_id : UInt8 #

Define default packet ID (typically the latest/most common version)


[View source]
def self.packet_id : UInt8 #

Provide backward compatibility with existing packet_id class getter Use the first protocol's packet ID for registration compatibility


def self.packet_id_for_protocol(protocol_version : UInt32) : UInt8 #

Get packet ID for specific protocol version


[View source]
def self.read(packet) #

[View source]
def self.remove_player(uuid : UUID) #

Convenience method to remove a player


[View source]
def self.supported_protocols : Array(UInt32) #

Helper method to get all supported protocols


[View source]
def self.supports_protocol?(protocol_version : UInt32) : Bool #

Helper method to check if a protocol is supported


[View source]

Instance Method Detail

def actions : UInt8 #

[View source]
def actions=(actions : UInt8) #

[View source]
def callback(client) #

[View source]
def players : Array(PlayerEntry) #

[View source]
def players=(players : Array(PlayerEntry)) #

[View source]
def write : Bytes #

[View source]