From a05a0b709c43005bbac7da5d3e53ea104ce4aa30 Mon Sep 17 00:00:00 2001 From: manen <49951816+manen@users.noreply.github.com> Date: Fri, 18 Apr 2025 16:16:19 +0200 Subject: [PATCH] fix panics in `wait_until_goto_target_reached` --- azalea/src/pathfinder/mod.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/azalea/src/pathfinder/mod.rs b/azalea/src/pathfinder/mod.rs index bd61c4eb..18b85261 100644 --- a/azalea/src/pathfinder/mod.rs +++ b/azalea/src/pathfinder/mod.rs @@ -40,6 +40,7 @@ use futures_lite::future; use goals::BlockPosGoal; use parking_lot::RwLock; use rel_block_pos::RelBlockPos; +use tokio::sync::broadcast::error::RecvError; use tracing::{debug, error, info, trace, warn}; pub use self::debug::PathfinderDebugParticles; @@ -253,7 +254,11 @@ impl PathfinderClientExt for azalea_client::Client { let mut tick_broadcaster = self.get_tick_broadcaster(); while !self.is_goto_target_reached() { // check every tick - tick_broadcaster.recv().await.unwrap(); + match tick_broadcaster.recv().await { + Ok(_) => (), + Err(RecvError::Closed) => return, + Err(err) => eprintln!("{err}"), + }; } }