use yog_core::{
BlockArea, BlockHit, BlockPos, DigSpeed, LocalState, NearbyEntity, PlacedBlock, Point,
SlotStack,
};
use yog_ids as ids;
actions! {
State { } -> Option<LocalState> = ids::service_client_local::STATE, "client.YogClientOps.state";
Inventory { } -> Vec<SlotStack> = ids::service_client_local::INVENTORY, "client.YogClientOps.inventory";
Scan { min: BlockPos, max: BlockPos, ids: Vec<String> } -> Vec<PlacedBlock> = ids::service_client_local::SCAN, "client.YogClientOps.scan";
Area { min: BlockPos, max: BlockPos } -> Option<BlockArea> = ids::service_client_local::AREA, "client.YogClientOps.area";
Entities { radius: f64 } -> Vec<NearbyEntity> = ids::service_client_local::ENTITIES, "client.YogClientOps.entities";
DigSpeeds { blocks: Vec<String> } -> Vec<DigSpeed> = ids::service_client_local::DIG_SPEEDS, "server.YogDigSpeeds.of";
Raycast { from: Point, to: Point } -> Option<BlockHit> = ids::service_client_local::RAYCAST, "client.YogClientOps.raycast";
Target { } -> Option<BlockHit> = ids::service_client_local::TARGET, "client.YogClientOps.target";
Message { text: String } -> bool = ids::service_client_local::MESSAGE, "client.YogClientChat.message";
}