class Rosegold::Clientbound::BossEvent

Included Modules

Defined in:

rosegold/packets/clientbound/boss_event.cr

Constant Summary

PROTOCOL_PACKET_IDS = {772_u32 => 9_u32, 774_u32 => 9_u32, 773_u32 => 9_u32, 775_u32 => 9_u32, 776_u32 => 9_u32}

A slim build may filter out every entry (e.g. a 775-only packet in a 1.21.8-only build), so fall back to a typed empty Hash literal.

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(uuid : UUID, action : Rosegold::Clientbound::BossEvent::Action, title : Nil | Rosegold::TextComponent = nil, health : Float32 | Nil = nil, color : Rosegold::Clientbound::BossEvent::Color | Nil = nil, division : Rosegold::Clientbound::BossEvent::Division | Nil = nil, flags : UInt8 | Nil = nil) #

[View source]

Class Method Detail

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

Generate the method for elegant access


[View source]
def self.add(uuid : UUID, title : Rosegold::TextComponent, health : Float32, color : Color, division : Division, flags : UInt8 = 0_u8) #

[View source]
def self.default_packet_id : UInt32 #

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


[View source]
def self.packet_id : UInt32 #

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


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

Get packet ID for specific protocol version (returns UInt32 for VarInt encoding in write methods)


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

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

[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]
def self.update_flags(uuid : UUID, flags : UInt8) #

[View source]
def self.update_health(uuid : UUID, health : Float32) #

[View source]
def self.update_style(uuid : UUID, color : Color, division : Division) #

[View source]
def self.update_title(uuid : UUID, title : Rosegold::TextComponent) #

[View source]

Instance Method Detail

def action : Action #

[View source]
def action=(action : Action) #

[View source]
def callback(client) #

[View source]
def color : Color | Nil #

[View source]
def color=(color : Color | Nil) #

[View source]
def division : Division | Nil #

[View source]
def division=(division : Division | Nil) #

[View source]
def flags : UInt8 | Nil #

[View source]
def flags=(flags : UInt8 | Nil) #

[View source]
def health : Float32 | Nil #

[View source]
def health=(health : Float32 | Nil) #

[View source]
def title : Rosegold::TextComponent | Nil #

[View source]
def title=(title : Rosegold::TextComponent | Nil) #

[View source]
def uuid : UUID #

[View source]
def uuid=(uuid : UUID) #

[View source]
def write : Bytes #

[View source]