azalea_client/plugins/
mod.rs

1use bevy_app::{PluginGroup, PluginGroupBuilder};
2
3pub mod attack;
4pub mod auto_reconnect;
5pub mod block_update;
6pub mod brand;
7pub mod chat;
8#[cfg(feature = "online-mode")]
9pub mod chat_signing;
10pub mod chunks;
11pub mod client_information;
12pub mod connection;
13pub mod disconnect;
14pub mod events;
15pub mod interact;
16pub mod inventory;
17pub mod join;
18pub mod loading;
19pub mod login;
20pub mod mining;
21pub mod movement;
22pub mod packet;
23pub mod pong;
24pub mod respawn;
25pub mod task_pool;
26pub mod tick_broadcast;
27pub mod tick_counter;
28pub mod tick_end;
29
30/// This plugin group will add all the default plugins necessary for Azalea to
31/// work.
32pub struct DefaultPlugins;
33
34impl PluginGroup for DefaultPlugins {
35    fn build(self) -> PluginGroupBuilder {
36        #[allow(unused_mut)]
37        let mut group = PluginGroupBuilder::start::<Self>()
38            .add(crate::client::AmbiguityLoggerPlugin)
39            .add(bevy_time::TimePlugin)
40            .add(packet::PacketPlugin)
41            .add(crate::client::AzaleaPlugin)
42            .add(azalea_entity::EntityPlugin)
43            .add(azalea_physics::PhysicsPlugin)
44            .add(events::EventsPlugin)
45            .add(task_pool::TaskPoolPlugin::default())
46            .add(inventory::InventoryPlugin)
47            .add(chat::ChatPlugin)
48            .add(disconnect::DisconnectPlugin)
49            .add(movement::MovementPlugin)
50            .add(interact::InteractPlugin)
51            .add(respawn::RespawnPlugin)
52            .add(mining::MiningPlugin)
53            .add(attack::AttackPlugin)
54            .add(chunks::ChunksPlugin)
55            .add(block_update::BlockUpdatePlugin)
56            .add(tick_end::TickEndPlugin)
57            .add(loading::PlayerLoadedPlugin)
58            .add(brand::BrandPlugin)
59            .add(client_information::ClientInformationPlugin)
60            .add(tick_broadcast::TickBroadcastPlugin)
61            .add(tick_counter::TickCounterPlugin)
62            .add(pong::PongPlugin)
63            .add(connection::ConnectionPlugin)
64            .add(login::LoginPlugin)
65            .add(join::JoinPlugin)
66            .add(auto_reconnect::AutoReconnectPlugin);
67        #[cfg(feature = "online-mode")]
68        {
69            group = group.add(chat_signing::ChatSigningPlugin);
70        }
71        #[cfg(feature = "log")]
72        {
73            group = group.add(bevy_log::LogPlugin::default());
74        }
75        group
76    }
77}