use yog_core::{BlockPos, ClickMode, Face};
use yog_ids as ids;
actions! {
Drive { forward: f32, strafe: f32, jump: bool, sneak: bool, sprint: bool, use_item: bool } -> bool = ids::service_client_control::DRIVE, "YogClientOps.drive";
Release { } -> bool = ids::service_client_control::RELEASE, "YogClientOps.release";
Look { yaw: f32, pitch: f32 } -> bool = ids::service_client_control::LOOK, "YogClientOps.look";
Attack { entity: Option<String> } -> bool = ids::service_client_control::ATTACK, "YogClientOps.attack";
UseItem { off_hand: bool } -> bool = ids::service_client_control::USE_ITEM, "YogClientOps.useItem";
Mine { pos: BlockPos, face: Face } -> bool = ids::service_client_control::MINE, "YogClientOps.mine";
StopMining { } -> bool = ids::service_client_control::STOP_MINING, "YogClientOps.stopMining";
Place { pos: BlockPos, face: Face } -> bool = ids::service_client_control::PLACE, "YogClientOps.place";
SelectSlot { slot: u32 } -> bool = ids::service_client_control::SELECT_SLOT, "YogClientOps.selectSlot";
Click { slot: i32, button: i32, mode: ClickMode } -> bool = ids::service_client_control::CLICK, "YogClientOps.click";
Chat { text: String } -> bool = ids::service_client_control::CHAT, "YogClientOps.chat";
}