From 3f60bdadac1a02e1109148bbbe5a8a3545f13849 Mon Sep 17 00:00:00 2001 From: mat <27899617+mat-1@users.noreply.github.com> Date: Thu, 17 Apr 2025 16:16:51 -0500 Subject: 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 --- azalea-client/src/plugins/mod.rs | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'azalea-client/src/plugins/mod.rs') 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::() + .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 + } +} -- cgit v1.2.3