aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--azalea/src/pathfinder/moves/parkour.rs16
1 files changed, 5 insertions, 11 deletions
diff --git a/azalea/src/pathfinder/moves/parkour.rs b/azalea/src/pathfinder/moves/parkour.rs
index dc7518d7..617333c8 100644
--- a/azalea/src/pathfinder/moves/parkour.rs
+++ b/azalea/src/pathfinder/moves/parkour.rs
@@ -48,7 +48,7 @@ fn parkour_forward_1_move(edges: &mut Vec<Edge>, ctx: &PathfinderCtx, pos: Block
continue;
}
- let cost = JUMP_PENALTY + WALK_ONE_BLOCK_COST * 2.;
+ let cost = JUMP_PENALTY + WALK_ONE_BLOCK_COST * 2. + CENTER_AFTER_FALL_COST;
edges.push(Edge {
movement: astar::Movement {
@@ -102,7 +102,7 @@ fn parkour_forward_2_move(edges: &mut Vec<Edge>, ctx: &PathfinderCtx, pos: Block
continue;
}
- let cost = JUMP_PENALTY + WALK_ONE_BLOCK_COST * 3.;
+ let cost = JUMP_PENALTY + WALK_ONE_BLOCK_COST * 3. + CENTER_AFTER_FALL_COST;
edges.push(Edge {
movement: astar::Movement {
@@ -132,11 +132,7 @@ fn parkour_forward_3_move(edges: &mut Vec<Edge>, ctx: &PathfinderCtx, pos: Block
continue;
}
- let ascend: i32 = if ctx.is_standable(pos + offset.up(1)) {
- 1
- } else if ctx.is_standable(pos + offset) {
- 0
- } else {
+ if !ctx.is_standable(pos + offset) {
continue;
};
@@ -158,11 +154,11 @@ fn parkour_forward_3_move(edges: &mut Vec<Edge>, ctx: &PathfinderCtx, pos: Block
continue;
}
- let cost = JUMP_PENALTY + WALK_ONE_BLOCK_COST * 3.;
+ let cost = JUMP_PENALTY + SPRINT_ONE_BLOCK_COST * 4. + CENTER_AFTER_FALL_COST;
edges.push(Edge {
movement: astar::Movement {
- target: pos + offset.up(ascend),
+ target: pos + offset,
data: MoveData {
execute: &execute_parkour_move,
is_reached: &default_is_reached,
@@ -237,8 +233,6 @@ pub fn parkour_is_reached(
position, target, ..
}: IsReachedCtx,
) -> bool {
- let target_center = target.center();
-
// 0.094 and not 0 for lilypads
BlockPos::from(position) == target && (position.y - target.y as f64) < 0.094
}