chunkedge_protocol/packets/play/
set_command_block_c2s.rs1use bitfield_struct::bitfield;
2use chunkedge_binary::{Decode, Encode};
3
4use crate::{BlockPos, Packet};
5
6#[derive(Copy, Clone, Debug, Encode, Decode, Packet)]
7pub struct SetCommandBlockC2s<'a> {
8 pub position: BlockPos,
9 pub command: &'a str,
10 pub mode: UpdateCommandBlockMode,
11 pub flags: UpdateCommandBlockFlags,
12}
13
14#[derive(Copy, Clone, PartialEq, Eq, Debug, Encode, Decode)]
15pub enum UpdateCommandBlockMode {
16 Sequence,
17 Auto,
18 Redstone,
19}
20
21#[bitfield(u8)]
22#[derive(PartialEq, Eq, Encode, Decode)]
23pub struct UpdateCommandBlockFlags {
24 pub track_output: bool,
25 pub conditional: bool,
26 pub automatic: bool,
27 #[bits(5)]
28 _pad: u8,
29}