diff options
| author | mat <git@matdoes.dev> | 2025-09-28 13:10:04 -0545 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2025-09-28 13:10:04 -0545 |
| commit | 2c8b7c5c2c9297273abfba8f7743f1bc25f166b1 (patch) | |
| tree | 3d3aded400100c136287fa59293ce26c61644d00 /azalea-client/src/plugins/packet/login | |
| parent | e2ed19c1ed92f0dccc881d835d9ac6e0f7f834c0 (diff) | |
| download | azalea-drasl-2c8b7c5c2c9297273abfba8f7743f1bc25f166b1.tar.xz | |
upgrade bevy to 0.17.0-rc.2
Diffstat (limited to 'azalea-client/src/plugins/packet/login')
| -rw-r--r-- | azalea-client/src/plugins/packet/login/events.rs | 22 | ||||
| -rw-r--r-- | azalea-client/src/plugins/packet/login/mod.rs | 16 |
2 files changed, 14 insertions, 24 deletions
diff --git a/azalea-client/src/plugins/packet/login/events.rs b/azalea-client/src/plugins/packet/login/events.rs index fc7a6b22..f50c1423 100644 --- a/azalea-client/src/plugins/packet/login/events.rs +++ b/azalea-client/src/plugins/packet/login/events.rs @@ -12,7 +12,7 @@ use tracing::{debug, error}; use super::InLoginState; use crate::{Account, connection::RawConnection}; -#[derive(Event, Debug, Clone)] +#[derive(Message, Debug, Clone)] pub struct ReceiveLoginPacketEvent { /// The client entity that received the packet. pub entity: Entity, @@ -20,13 +20,14 @@ pub struct ReceiveLoginPacketEvent { pub packet: Arc<ClientboundLoginPacket>, } -#[derive(Event, Debug, Clone)] +#[derive(EntityEvent, Debug, Clone)] pub struct ReceiveHelloEvent { + pub entity: Entity, pub account: Account, pub packet: ClientboundHello, } -#[derive(Event, Debug, Clone)] +#[derive(Message, Debug, Clone)] pub struct ReceiveCustomQueryEvent { /// The client entity that received the packet. pub entity: Entity, @@ -40,8 +41,9 @@ pub struct ReceiveCustomQueryEvent { } /// Event for sending a login packet to the server. -#[derive(Event, Debug, Clone)] +#[derive(EntityEvent, Debug, Clone)] pub struct SendLoginPacketEvent { + #[event_target] pub sent_by: Entity, pub packet: ServerboundLoginPacket, } @@ -56,7 +58,7 @@ impl SendLoginPacketEvent { } pub fn handle_outgoing_packets_observer( - trigger: Trigger<SendLoginPacketEvent>, + trigger: On<SendLoginPacketEvent>, mut query: Query<(&mut RawConnection, Option<&InLoginState>)>, ) { let event = trigger.event(); @@ -74,13 +76,3 @@ pub fn handle_outgoing_packets_observer( } } } -/// A system that converts [`SendLoginPacketEvent`] events into triggers so -/// they get received by [`handle_outgoing_packets_observer`]. -pub fn handle_outgoing_packets( - mut commands: Commands, - mut events: EventReader<SendLoginPacketEvent>, -) { - for event in events.read() { - commands.trigger(event.clone()); - } -} diff --git a/azalea-client/src/plugins/packet/login/mod.rs b/azalea-client/src/plugins/packet/login/mod.rs index 03e87920..63226124 100644 --- a/azalea-client/src/plugins/packet/login/mod.rs +++ b/azalea-client/src/plugins/packet/login/mod.rs @@ -59,19 +59,17 @@ impl LoginPacketHandler<'_> { ); return; }; - commands.trigger_targets( - ReceiveHelloEvent { - account: account.clone(), - packet: p.clone(), - }, - self.player, - ); + commands.trigger(ReceiveHelloEvent { + entity: self.player, + account: account.clone(), + packet: p.clone(), + }); }); } pub fn login_disconnect(&mut self, p: &ClientboundLoginDisconnect) { debug!("Got disconnect {:?}", p); - as_system::<EventWriter<_>>(self.ecs, |mut events| { + as_system::<MessageWriter<_>>(self.ecs, |mut events| { events.write(DisconnectEvent { entity: self.player, reason: Some(p.reason.clone()), @@ -120,7 +118,7 @@ impl LoginPacketHandler<'_> { pub fn custom_query(&mut self, p: &ClientboundCustomQuery) { debug!("Got custom query {p:?}"); - as_system::<EventWriter<ReceiveCustomQueryEvent>>(self.ecs, |mut events| { + as_system::<MessageWriter<ReceiveCustomQueryEvent>>(self.ecs, |mut events| { events.write(ReceiveCustomQueryEvent { entity: self.player, packet: p.clone(), |
