aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/plugins/mod.rs
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2025-04-17 16:16:51 -0500
committerGitHub <noreply@github.com>2025-04-17 16:16:51 -0500
commit3f60bdadac1a02e1109148bbbe5a8a3545f13849 (patch)
tree6c0460be61e715c1b789f81b16ce4c0fb986c3b4 /azalea-client/src/plugins/mod.rs
parent1989f4ec979c138f8f466ccebadca335eb2917d6 (diff)
downloadazalea-drasl-3f60bdadac1a02e1109148bbbe5a8a3545f13849.tar.xz
Move login state to the ECS (#213)
* use packet handlers code for login custom_query * initial broken implementation for ecs-only login * fixes * run Update schedule 60 times per second and delete code related to run_schedule_sender * fix tests * fix online-mode * reply to query packets in a separate system and make it easier for plugins to disable individual replies * remove unused imports
Diffstat (limited to 'azalea-client/src/plugins/mod.rs')
-rw-r--r--azalea-client/src/plugins/mod.rs43
1 files changed, 43 insertions, 0 deletions
diff --git a/azalea-client/src/plugins/mod.rs b/azalea-client/src/plugins/mod.rs
index 3b047ccb..16b34205 100644
--- a/azalea-client/src/plugins/mod.rs
+++ b/azalea-client/src/plugins/mod.rs
@@ -1,11 +1,15 @@
+use bevy_app::{PluginGroup, PluginGroupBuilder};
+
pub mod attack;
pub mod brand;
pub mod chat;
pub mod chunks;
+pub mod connection;
pub mod disconnect;
pub mod events;
pub mod interact;
pub mod inventory;
+pub mod login;
pub mod mining;
pub mod movement;
pub mod packet;
@@ -14,3 +18,42 @@ pub mod respawn;
pub mod task_pool;
pub mod tick_broadcast;
pub mod tick_end;
+
+/// This plugin group will add all the default plugins necessary for Azalea to
+/// work.
+pub struct DefaultPlugins;
+
+impl PluginGroup for DefaultPlugins {
+ fn build(self) -> PluginGroupBuilder {
+ #[allow(unused_mut)]
+ let mut group = PluginGroupBuilder::start::<Self>()
+ .add(crate::client::AmbiguityLoggerPlugin)
+ .add(bevy_time::TimePlugin)
+ .add(packet::PacketPlugin)
+ .add(crate::client::AzaleaPlugin)
+ .add(azalea_entity::EntityPlugin)
+ .add(azalea_physics::PhysicsPlugin)
+ .add(events::EventsPlugin)
+ .add(task_pool::TaskPoolPlugin::default())
+ .add(inventory::InventoryPlugin)
+ .add(chat::ChatPlugin)
+ .add(disconnect::DisconnectPlugin)
+ .add(movement::MovementPlugin)
+ .add(interact::InteractPlugin)
+ .add(respawn::RespawnPlugin)
+ .add(mining::MiningPlugin)
+ .add(attack::AttackPlugin)
+ .add(chunks::ChunksPlugin)
+ .add(tick_end::TickEndPlugin)
+ .add(brand::BrandPlugin)
+ .add(tick_broadcast::TickBroadcastPlugin)
+ .add(pong::PongPlugin)
+ .add(connection::ConnectionPlugin)
+ .add(login::LoginPlugin);
+ #[cfg(feature = "log")]
+ {
+ group = group.add(bevy_log::LogPlugin::default());
+ }
+ group
+ }
+}