diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2023-09-21 11:16:29 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-21 11:16:29 -0500 |
| commit | 7b3e2e4bf793466a351510c7fbbd08234e93bb0e (patch) | |
| tree | 7177a919de9982d9e3c7f36a76d2025696f465b6 /azalea-client/src/disconnect.rs | |
| parent | 83cce236145cdab1872a472a70943b669a880965 (diff) | |
| download | azalea-drasl-7b3e2e4bf793466a351510c7fbbd08234e93bb0e.tar.xz | |
1.20.2 (#99)
* add configuration state
* start updating to 23w31a
* implement a bit more of 23w31a
* chunk batching
* start adding configuration state
* ioasfhjgsd
* almost works
* configuration state mostly implemented
* handle other packets in configuration state and fix keepalive
* cleanup, fix warnings
* 23w32a
* fix some doctests
* 23w33a
* 23w35a
* 1.20.2-pre2
* fix system conflicts
* 1.20.2-pre4
* make tests compile
* tests pass
* 1.20.2-rc2
* 1.20.2
* Revert "1.20.2"
This reverts commit dd152fd265332ead333c919e585ded6d609d7468.
* didn't mean to commit that code
---------
Co-authored-by: mat <git@matdoes.dev>
Diffstat (limited to 'azalea-client/src/disconnect.rs')
| -rw-r--r-- | azalea-client/src/disconnect.rs | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/azalea-client/src/disconnect.rs b/azalea-client/src/disconnect.rs index 10aef7ba..966e5bb7 100644 --- a/azalea-client/src/disconnect.rs +++ b/azalea-client/src/disconnect.rs @@ -12,7 +12,7 @@ use bevy_ecs::{ }; use derive_more::Deref; -use crate::{client::JoinedClientBundle, LocalPlayer}; +use crate::{client::JoinedClientBundle, raw_connection::RawConnection}; pub struct DisconnectPlugin; impl Plugin for DisconnectPlugin { @@ -21,7 +21,7 @@ impl Plugin for DisconnectPlugin { PostUpdate, ( update_read_packets_task_running_component, - disconnect_on_read_packets_ended, + disconnect_on_connection_dead, remove_components_from_disconnected_players, ) .chain(), @@ -47,25 +47,23 @@ pub fn remove_components_from_disconnected_players( } #[derive(Component, Clone, Copy, Debug, Deref)] -pub struct ReadPacketsTaskRunning(bool); +pub struct IsConnectionAlive(bool); fn update_read_packets_task_running_component( + query: Query<(Entity, &RawConnection)>, mut commands: Commands, - local_player: Query<(Entity, &LocalPlayer)>, ) { - for (entity, local_player) in &local_player { - let running = !local_player.read_packets_task.is_finished(); - commands - .entity(entity) - .insert(ReadPacketsTaskRunning(running)); + for (entity, raw_connection) in &query { + let running = raw_connection.is_alive(); + commands.entity(entity).insert(IsConnectionAlive(running)); } } -fn disconnect_on_read_packets_ended( - local_player: Query<(Entity, &ReadPacketsTaskRunning), Changed<ReadPacketsTaskRunning>>, +fn disconnect_on_connection_dead( + query: Query<(Entity, &IsConnectionAlive), Changed<IsConnectionAlive>>, mut disconnect_events: EventWriter<DisconnectEvent>, ) { - for (entity, &read_packets_task_running) in &local_player { - if !*read_packets_task_running { + for (entity, &is_connection_alive) in &query { + if !*is_connection_alive { disconnect_events.send(DisconnectEvent { entity }); } } |
