Skip to main content

steel_protocol/packets/game/
s_set_creative_mode_slot.rs

1use steel_macros::ServerPacket;
2use steel_registry::item_stack::ItemStack;
3use steel_utils::serial::ReadFrom;
4
5/// Creative mode slot packet uses the delimited (untrusted) item format
6/// where each component value is prefixed with a `VarInt` byte length.
7#[derive(ServerPacket, Clone, Debug)]
8pub struct SSetCreativeModeSlot {
9    pub slot_num: i16,
10    pub item_stack: ItemStack,
11}
12
13impl ReadFrom for SSetCreativeModeSlot {
14    fn read(data: &mut std::io::Cursor<&[u8]>) -> std::io::Result<Self> {
15        let slot_num = i16::read(data)?;
16        let item_stack = ItemStack::read_untrusted(data)?;
17        Ok(Self {
18            slot_num,
19            item_stack,
20        })
21    }
22}