aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/game/serverbound_container_click_packet.rs
blob: 18e934432b0e9043fcbdec08c16df73d8c40e02c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use azalea_buf::McBuf;
use azalea_core::Slot;
use azalea_protocol_macros::ServerboundGamePacket;
use std::collections::HashMap;

#[derive(Clone, Debug, McBuf, ServerboundGamePacket)]
pub struct ServerboundContainerClickPacket {
    pub container_id: u8,
    #[var]
    pub state_id: u32,
    pub slot_num: u16,
    pub button_num: u8,
    pub click_type: ClickType,
    pub changed_slots: HashMap<u16, Slot>,
}

#[derive(McBuf, Clone, Copy, Debug)]
pub enum ClickType {
    Pickup = 0,
    QuickMove = 1,
    Swap = 2,
    Clone = 3,
    Throw = 4,
    QuickCraft = 5,
    PickupAll = 6,
}