azalea_client/
lib.rs

1//! Significantly abstract [`azalea_protocol`] so it's actually useable for
2//! real clients. If you want to make bots, you should use the
3//! [`azalea`] crate instead.
4//!
5//! [`azalea_protocol`]: https://docs.rs/azalea-protocol
6//! [`azalea`]: https://docs.rs/azalea
7
8#![feature(error_generic_member_access)]
9#![feature(never_type)]
10
11mod account;
12mod client;
13mod entity_query;
14pub mod local_player;
15pub mod ping;
16pub mod player;
17mod plugins;
18
19#[cfg(feature = "log")]
20#[doc(hidden)]
21pub mod test_utils;
22
23pub use account::{Account, AccountOpts};
24pub use azalea_physics::local_player::{PhysicsState, SprintDirection, WalkDirection};
25pub use azalea_protocol::common::client_information::ClientInformation;
26// Re-export bevy-tasks so plugins can make sure that they're using the same
27// version.
28pub use bevy_tasks;
29pub use client::{
30    Client, InConfigState, InGameState, JoinError, JoinedClientBundle, LocalPlayerBundle,
31    StartClientOpts, start_ecs_runner,
32};
33pub use events::Event;
34pub use movement::{StartSprintEvent, StartWalkEvent};
35pub use plugins::*;