aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/game/serverbound_container_click_packet.rs
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-protocol/src/packets/game/serverbound_container_click_packet.rs')
-rw-r--r--azalea-protocol/src/packets/game/serverbound_container_click_packet.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/azalea-protocol/src/packets/game/serverbound_container_click_packet.rs b/azalea-protocol/src/packets/game/serverbound_container_click_packet.rs
new file mode 100644
index 00000000..5c18b8cd
--- /dev/null
+++ b/azalea-protocol/src/packets/game/serverbound_container_click_packet.rs
@@ -0,0 +1,26 @@
+use azalea_buf::McBuf;
+use azalea_core::Slot;
+use packet_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,
+}