From 94ef48d9f2e362167c077b9584e42ed2c71d679f Mon Sep 17 00:00:00 2001 From: mat Date: Fri, 6 Oct 2023 16:08:19 -0500 Subject: make sure pathfinder is always centered on the destination block (fixes tests) --- azalea/src/pathfinder/mod.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'azalea/src') diff --git a/azalea/src/pathfinder/mod.rs b/azalea/src/pathfinder/mod.rs index c4c4c688..5d417e91 100644 --- a/azalea/src/pathfinder/mod.rs +++ b/azalea/src/pathfinder/mod.rs @@ -381,7 +381,13 @@ fn tick_execute_path( physics, }; let extra_strict_if_last = if i == pathfinder.path.len() - 1 { - physics.on_ground && BlockPos::from(position) == movement.target + let x_difference_from_center = position.x - (movement.target.x as f64 + 0.5); + let z_difference_from_center = position.z - (movement.target.z as f64 + 0.5); + // this is to make sure we don't fall off immediately after finishing the path + physics.on_ground + && BlockPos::from(position) == movement.target + && x_difference_from_center.abs() < 0.2 + && z_difference_from_center.abs() < 0.2 } else { true }; -- cgit v1.2.3