Add optional head hitter sprint jumping - #5120
Merged
Merged
Conversation
new headHitters setting: sprint jump in 1x2 corridors and under any low ceiling on flat traverses. the sprint jump speed boost applies before the head bonk, so this is faster than just sprinting. only headhits once fully inside the corridor (so we don't bonk on the face of the entrance block), and never while sneaking, breaking, in water, when the path goes down right after the movement, or when the momentum would carry us over a ledge. (cherry picked from commit 3f43a2f)
(cherry picked from commit 1cf6a3a)
(cherry picked from commit 02849ba)
- underHeadBonkCeiling: also check the block overhead is a normal cube with MovementHelper.isBlockNormalCube, since things like trapdoors are not fully passable yet you can't reliably bonk against them - clearOfLedgesAhead: require the next two movements to go in the same direction instead of just checking for floor, so the two blocks the momentum carries us to are always part of the path and we can never get sent off it. this covers the path turning, ending or going down right after, and makes the canWalkOn checks redundant since the path already guarantees those blocks are walkable (cherry picked from commit 5b6c3cf)
Member
|
This looks cool. Anyone else want to give an opinion? |
Contributor
Author
|
#5105 zac said it was cool |
Contributor
Author
|
^^ removed the "Sprint jump in a 1x2 corridor" from features.md as this PR would.. well.. add it. yippe |
|
I approve of this message
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes #5105: per cbd182b the primary development branch is
1.21.4now, so the changes were ported onto it (only real adjustment was the Mojang-mapping renameisOnGround()→onGround()). The old PR closed as a side effect of the branch move and GitHub doesn't let it reopen, hence this one.clearOfLedgesAheadalso now bails when the support under the next two positions isn't physically there yet, addressing the last review comment on the old PR.New
headHitterssetting, off by default like other optional behavior settings.When enabled, Baritone sprint jumps in 1x2 corridors and under any low ceiling on flat traverses. The sprint jump speed boost applies on the first ticks of the jump before we bonk our head, so hopping through a tunnel is faster than plain sprinting.
Implementation is entirely in
PathExecutor.shouldSprintNextTicksince that's where the sprint policy already lives. It forcesInput.JUMPthe same way the traverse to straight ascend skip does, and because it runs aftermovement.update()reasserts the inputs, the forced jump only lasts one tick so there's no state to clean up.Some guards it has, mostly found by breaking it in game:
skipNow) so we don't jump a block early and bonk on the face of the entrance block, which just stops usThis is execution only, the cost model is untouched (same as
sprintAscendsandovershootTraverse), so path choice doesn't change, we just arrive a bit sooner.Tested in a dev env on fabric: tunnels, overhangs, goals next to dropoffs.