- MoveParkour: replace full-rectangle intermediate check with diagonal
strip check (CheckFlightPath) so walls outside the actual flight
corridor no longer block valid parkour jumps.
- MoveParkour: require both cardinal neighbors passable for diagonal
parkour takeoff; a wall on either side clips the AABB and prevents
reaching the target.
- MoveSprintDescend: replace full-rectangle check with explicit
per-axis intermediate column check.
- SprintJumpTemplate: track diagonal jumps and skip approach delay for
short diagonal jumps to avoid overshooting small starting platforms.
Made-with: Cursor
- MoveDiagonal: allow single-side-blocked diagonals (corner walk) so
the bot can hug an open side to cut around a wall; both-sides-blocked
remains impossible. Walk-speed cost when one side is blocked.
- MoveSprintDescend: sprint off a ledge covering 2 horizontal blocks
while dropping 1-3 blocks. Registered for cardinal and diagonal
offsets.
- MoveParkour: support negative yDelta (-1, -2) for descending parkour
where the bot sprint-jumps across a gap and lands on a lower
platform. Registered cardinal (dist 2-4, y-1/-2) and diagonal
variants.
- DescendTemplate: sprint when horizontal distance > 1.5 blocks.
- SprintJumpTemplate: increase vertical landing tolerance for descend.
Made-with: Cursor
- Add MoveDiagonalAscend and MoveDiagonalDescend for "corner" moves:
step diagonally around a wall edge while ascending/descending 1 block.
Requires at least one intermediate cardinal direction to be passable.
- Fix pitch calculation: look toward target's eye level (same height
delta as feet delta) instead of subtracting eye height, which caused
the player to stare at the ground during flat walks.
- Add Yaw/Pitch smoothing via SmoothYaw/SmoothPitch in TemplateHelper.
Max 35 deg/tick for yaw, 25 deg/tick for pitch. Prevents instant
camera snaps between path segments while still being responsive
enough for sprint-jumps and tight maneuvers.
- Apply smoothing to all five action templates (Walk, Ascend, Descend,
Climb, SprintJump).
Made-with: Cursor
- WalkTemplate: remove OnClimbable jump/sprint logic that caused the
player to jump when walking past vine blocks during flat traversal
- TemplateHelper: add CalculatePitch() for computing the look angle
toward a 3D target relative to eye height
- All templates (Walk, Ascend, Descend, Climb, SprintJump): set
physics.Pitch each tick so the player visually looks toward the
current path target direction
- McClient: sync playerPitch and set _yaw/_pitch after pathfinding
ticks so rotation is included in position update packets sent to
the server
Made-with: Cursor
- ClimbTemplate: add explicit descent handling with horizontal drift
correction instead of relying on no-input gravity alone
- DescendTemplate: on climbable blocks, suppress Forward input to
prevent HorizontalCollision-triggered upward bumps, allowing gravity
to slide the player down naturally
- MoveClimb: restrict climb-up past the top of a climbable column --
only allow if there is solid ground to stand on at destination,
preventing impossible vine-top exits where the player would fall back
Made-with: Cursor
WalkTemplate now detects when physics.OnClimbable is true (player entering
a ladder/vine block) and switches from Sprint to Jump input, with extended
stuck detection thresholds. This prevents the template from failing when
the path walks through climbable blocks.
Tested on 1.21.11: all movement types pass (walk, diagonal, ascend, descend,
climb, parkour 2-4 gap, mixed courses with direction changes).
Made-with: Cursor