From c7cc381fae569f3dfc9f2abe86c2c38d59b68cf2 Mon Sep 17 00:00:00 2001 From: suprohub <125716028+suprohub@users.noreply.github.com> Date: Wed, 29 Oct 2025 00:19:55 +0300 Subject: Don't panic when LocalPlayerEvents is missing (#271) --- azalea-client/src/plugins/events.rs | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/azalea-client/src/plugins/events.rs b/azalea-client/src/plugins/events.rs index e8d99e7c..0bd738c0 100644 --- a/azalea-client/src/plugins/events.rs +++ b/azalea-client/src/plugins/events.rs @@ -235,10 +235,9 @@ pub fn add_player_listener( mut events: MessageReader, ) { for event in events.read() { - let local_player_events = query - .get(event.entity) - .expect("Non-local entities shouldn't be able to receive add player events"); - let _ = local_player_events.send(Event::AddPlayer(event.info.clone())); + if let Ok(local_player_events) = query.get(event.entity) { + let _ = local_player_events.send(Event::AddPlayer(event.info.clone())); + } } } @@ -247,10 +246,9 @@ pub fn update_player_listener( mut events: MessageReader, ) { for event in events.read() { - let local_player_events = query - .get(event.entity) - .expect("Non-local entities shouldn't be able to receive update player events"); - let _ = local_player_events.send(Event::UpdatePlayer(event.info.clone())); + if let Ok(local_player_events) = query.get(event.entity) { + let _ = local_player_events.send(Event::UpdatePlayer(event.info.clone())); + } } } @@ -259,10 +257,9 @@ pub fn remove_player_listener( mut events: MessageReader, ) { for event in events.read() { - let local_player_events = query - .get(event.entity) - .expect("Non-local entities shouldn't be able to receive remove player events"); - let _ = local_player_events.send(Event::RemovePlayer(event.info.clone())); + if let Ok(local_player_events) = query.get(event.entity) { + let _ = local_player_events.send(Event::RemovePlayer(event.info.clone())); + } } } @@ -288,10 +285,9 @@ pub fn keepalive_listener( mut events: MessageReader, ) { for event in events.read() { - let local_player_events = query - .get(event.entity) - .expect("Non-local entities shouldn't be able to receive keepalive events"); - let _ = local_player_events.send(Event::KeepAlive(event.id)); + if let Ok(local_player_events) = query.get(event.entity) { + let _ = local_player_events.send(Event::KeepAlive(event.id)); + } } } -- cgit v1.2.3