chunkedge_protocol/packets/play/
test_instance_block_action_c2s.rs

1use chunkedge_binary::{Decode, Encode, TextComponent, VarInt};
2
3use crate::packets::play::set_structure_block_c2s::Rotation;
4use crate::{BlockPos, Packet};
5
6#[derive(Clone, Debug, Encode, Decode, Packet)]
7pub struct TestInstanceBlockActionC2s {
8    pub position: BlockPos,
9    pub action: TestInstanceBlockAction,
10    /// ID in the `minecraft:test_instance_kind` registry.
11    pub test: Option<VarInt>,
12    pub size_x: VarInt,
13    pub size_y: VarInt,
14    pub size_z: VarInt,
15    pub rotation: Rotation,
16    pub ignore_entities: bool,
17    pub status: TestInstanceBlockStatus,
18    pub error_message: Option<TextComponent>,
19}
20
21#[derive(Copy, Clone, Debug, Encode, Decode)]
22pub enum TestInstanceBlockAction {
23    Init,
24    Query,
25    Set,
26    Reset,
27    Save,
28    Export,
29    Run,
30}
31
32#[derive(Copy, Clone, Debug, Encode, Decode)]
33pub enum TestInstanceBlockStatus {
34    Cleared,
35    Running,
36    Finished,
37}