From 685aeff13f91e00073683757112cf0caafcb7998 Mon Sep 17 00:00:00 2001 From: mat Date: Tue, 6 May 2025 17:51:50 -0500 Subject: [PATCH] fix pathfinder descending onto non-full blocks --- azalea/src/pathfinder/moves/basic.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/azalea/src/pathfinder/moves/basic.rs b/azalea/src/pathfinder/moves/basic.rs index c7fccf26..354472a7 100644 --- a/azalea/src/pathfinder/moves/basic.rs +++ b/azalea/src/pathfinder/moves/basic.rs @@ -324,6 +324,7 @@ pub fn descend_is_reached( target, start, position, + physics, .. }: IsReachedCtx, ) -> bool { @@ -333,8 +334,14 @@ pub fn descend_is_reached( start.z + (target.z - start.z) * 2, ); - (BlockPos::from(position) == target || BlockPos::from(position) == dest_ahead) - && (position.y - target.y as f64) < 0.5 + if BlockPos::from(position) == target || BlockPos::from(position) == dest_ahead { + if (position.y - target.y as f64) < 0.5 { + return true; + } + } else if BlockPos::from(position).up(1) == target && physics.on_ground() { + return true; + } + false } fn descend_forward_1_move(ctx: &mut PathfinderCtx, pos: RelBlockPos) {