yog_event/client/
control.rs1use yog_core::{BlockPos, ClickMode, Face};
6use yog_ids as ids;
7
8actions! {
9 Drive { forward: f32, strafe: f32, jump: bool, sneak: bool, sprint: bool, use_item: bool } -> bool = ids::service_client_control::DRIVE, "YogClientOps.drive";
13 Release { } -> bool = ids::service_client_control::RELEASE, "YogClientOps.release";
15 Look { yaw: f32, pitch: f32 } -> bool = ids::service_client_control::LOOK, "YogClientOps.look";
17 Attack { entity: Option<String> } -> bool = ids::service_client_control::ATTACK, "YogClientOps.attack";
19 UseItem { off_hand: bool } -> bool = ids::service_client_control::USE_ITEM, "YogClientOps.useItem";
21 Mine { pos: BlockPos, face: Face } -> bool = ids::service_client_control::MINE, "YogClientOps.mine";
23 StopMining { } -> bool = ids::service_client_control::STOP_MINING, "YogClientOps.stopMining";
25 Place { pos: BlockPos, face: Face } -> bool = ids::service_client_control::PLACE, "YogClientOps.place";
27 SelectSlot { slot: u32 } -> bool = ids::service_client_control::SELECT_SLOT, "YogClientOps.selectSlot";
29 Click { slot: i32, button: i32, mode: ClickMode } -> bool = ids::service_client_control::CLICK, "YogClientOps.click";
31 Chat { text: String } -> bool = ids::service_client_control::CHAT, "YogClientOps.chat";
33}
34
35impl Default for Drive {
38 fn default() -> Self {
39 Drive {
40 forward: 0.0,
41 strafe: 0.0,
42 jump: false,
43 sneak: false,
44 sprint: false,
45 use_item: false,
46 }
47 }
48}