aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/configuration.rs
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2025-02-22 21:45:26 -0600
committerGitHub <noreply@github.com>2025-02-22 21:45:26 -0600
commite21e1b97bf9337e9f4747cd1b545b1b3a03e2ce7 (patch)
treeadd6f8bfce40d0c07845d8aa4c9945a0b918444c /azalea-client/src/configuration.rs
parentf8130c3c92946d2293634ba4e252d6bc93026c3c (diff)
downloadazalea-drasl-e21e1b97bf9337e9f4747cd1b545b1b3a03e2ce7.tar.xz
Refactor azalea-client (#205)
* start organizing packet_handling more by moving packet handlers into their own functions * finish writing all the handler functions for packets * use macro for generating match statement for packet handler functions * fix set_entity_data * update config state to also use handler functions * organize az-client file structure by moving things into plugins directory * fix merge issues
Diffstat (limited to 'azalea-client/src/configuration.rs')
-rw-r--r--azalea-client/src/configuration.rs62
1 files changed, 0 insertions, 62 deletions
diff --git a/azalea-client/src/configuration.rs b/azalea-client/src/configuration.rs
deleted file mode 100644
index d578be7a..00000000
--- a/azalea-client/src/configuration.rs
+++ /dev/null
@@ -1,62 +0,0 @@
-use azalea_buf::AzaleaWrite;
-use azalea_core::resource_location::ResourceLocation;
-use azalea_protocol::{
- common::client_information::ClientInformation,
- packets::config::{
- s_client_information::ServerboundClientInformation,
- s_custom_payload::ServerboundCustomPayload,
- },
-};
-use bevy_app::prelude::*;
-use bevy_ecs::prelude::*;
-use tracing::{debug, warn};
-
-use crate::packet_handling::{configuration::SendConfigurationEvent, login::InLoginState};
-
-pub struct ConfigurationPlugin;
-impl Plugin for ConfigurationPlugin {
- fn build(&self, app: &mut App) {
- app.add_systems(
- Update,
- handle_end_login_state
- .before(crate::packet_handling::configuration::handle_send_packet_event),
- );
- }
-}
-
-fn handle_end_login_state(
- mut removed: RemovedComponents<InLoginState>,
- query: Query<&ClientInformation>,
- mut send_packet_events: EventWriter<SendConfigurationEvent>,
-) {
- for entity in removed.read() {
- let mut brand_data = Vec::new();
- // they don't have to know :)
- "vanilla".azalea_write(&mut brand_data).unwrap();
- send_packet_events.send(SendConfigurationEvent::new(
- entity,
- ServerboundCustomPayload {
- identifier: ResourceLocation::new("brand"),
- data: brand_data.into(),
- },
- ));
-
- let client_information = match query.get(entity).ok() {
- Some(i) => i,
- None => {
- warn!(
- "ClientInformation component was not set before leaving login state, using a default"
- );
- &ClientInformation::default()
- }
- };
-
- debug!("Writing ClientInformation while in config state: {client_information:?}");
- send_packet_events.send(SendConfigurationEvent::new(
- entity,
- ServerboundClientInformation {
- information: client_information.clone(),
- },
- ));
- }
-}