azalea_protocol/packets/game/
s_test_instance_block_action.rs1use azalea_buf::AzBuf;
2use azalea_chat::FormattedText;
3use azalea_core::position::{BlockPos, Vec3i};
4use azalea_protocol_macros::ServerboundGamePacket;
5use azalea_registry::TestInstanceKind;
6
7use super::s_set_structure_block::Rotation;
8
9#[derive(Clone, Debug, AzBuf, ServerboundGamePacket)]
10pub struct ServerboundTestInstanceBlockAction {
11 pub pos: BlockPos,
12 pub action: Action,
13 pub data: TestInstanceBlockEntityData,
14}
15
16#[derive(Clone, Copy, Debug, AzBuf, Default)]
17pub enum Action {
18 #[default]
19 Init,
20 Qurey,
21 Set,
22 Reset,
23 Save,
24 Export,
25 Run,
26}
27
28#[derive(Clone, Debug, AzBuf, Default)]
29pub struct TestInstanceBlockEntityData {
30 pub test: Option<TestInstanceKind>,
31 pub size: Vec3i,
32 pub rotation: Rotation,
33 pub ignore_entities: bool,
34 pub status: TestInstanceBlockEntityStatus,
35 pub error_message: Option<FormattedText>,
36}
37
38#[derive(Clone, Copy, Debug, AzBuf, Default)]
39pub enum TestInstanceBlockEntityStatus {
40 #[default]
41 Cleared,
42 Running,
43 Finished,
44}