1#![doc = include_str!("../README.md")]
2#![feature(type_changing_struct_update)]
3#![feature(float_algebraic)]
4
5pub mod accept_resource_packs;
6pub mod auto_reconnect;
7pub mod auto_respawn;
8pub mod auto_tool;
9pub mod bot;
10mod builder;
11mod client_impl;
12pub mod container;
13mod entity_ref;
14pub mod events;
15mod join_opts;
16pub mod nearest_entity;
17pub mod pathfinder;
18pub mod prelude;
19pub mod swarm;
20pub mod tick_broadcast;
21
22pub use azalea_auth as auth;
23pub use azalea_block as block;
24#[doc(hidden)]
25#[deprecated = "moved to `azalea::block`"]
26pub mod blocks {
27 pub type BlockStates = azalea_block::BlockStates;
28 pub type BlockState = azalea_block::BlockState;
29 pub trait BlockTrait: azalea_block::BlockTrait {}
30 }
34
35pub use azalea_brigadier as brigadier;
36pub use azalea_buf as buf;
37pub use azalea_chat::FormattedText;
38pub use azalea_client::*;
39pub use azalea_core as core;
40pub use azalea_core::position::{BlockPos, Vec3};
42pub use azalea_entity as entity;
43pub use azalea_physics as physics;
44pub use azalea_protocol as protocol;
45pub use azalea_registry as registry;
46#[doc(hidden)]
47#[deprecated(note = "renamed to `Identifier`.")]
48pub type ResourceLocation = azalea_registry::identifier::Identifier;
49pub use azalea_registry::identifier::Identifier;
50pub use azalea_world as world;
51pub use bevy_app as app;
52pub use bevy_ecs as ecs;
53use bevy_ecs::component::Component;
54pub use builder::ClientBuilder;
55use futures::future::BoxFuture;
56pub use join_opts::JoinOpts;
57
58pub use crate::{client_impl::Client, entity_ref::EntityRef, events::Event};
59
60pub type BoxHandleFn<S, R> = Box<dyn Fn(Client, Event, S) -> BoxFuture<'static, R> + Send>;
61pub type HandleFn<S, Fut> = fn(Client, Event, S) -> Fut;
62
63#[derive(Clone, Component, Default)]
71pub struct NoState;