class Rosegold::Serverbound::ClickWindow

Included Modules

Defined in:

rosegold/packets/serverbound/click_window.cr

Constant Summary

PROTOCOL_PACKET_IDS = {772_u32 => 17_u8}

Store the protocol mappings as a constant

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::Serverbound::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(mode : Rosegold::Serverbound::ClickWindow::Mode, button : Int8, slot_number : Int16, changed_slots : Array(Rosegold::WindowSlot), window_id : UInt8, state_id : Int32, cursor : Rosegold::Slot) #

[View source]

Class Method Detail

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

Generate the method for elegant access


[View source]
def self.click(window, slot_number, right = false, shift = false, double = false) #

[View source]
def self.default_packet_id : UInt8 #

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


[View source]
def self.drop(window, slot_number, stack_mode : StackMode) #

[View source]
def self.drop_cursor(window, stack_mode : StackMode) #

[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.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.swap_hotbar(window, hotbar_nr, slot_number) #

Hotbar starts at 0.


[View source]
def self.swap_off_hand(window, slot_number) #

[View source]

Instance Method Detail

def button : Int8 #

[View source]
def button=(button : Int8) #

[View source]
def changed_slots : Array(WindowSlot) #

[View source]
def changed_slots=(changed_slots : Array(WindowSlot)) #

[View source]
def cursor : Slot #

[View source]
def cursor=(cursor : Slot) #

[View source]
def mode : Mode #

[View source]
def mode=(mode : Mode) #

[View source]
def slot_number : Int16 #

[View source]
def slot_number=(slot_number : Int16) #

[View source]
def state_id : Int32 #

[View source]
def state_id=(state_id : Int32) #

[View source]
def window_id : UInt8 #

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

[View source]
def write : Bytes #

[View source]