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