You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you sneak off the edge of a block and start a path, the starting position will be not actually supported. If it was off the edge of a cliff, it's possible that the first movement will cause the player to just fall off.
Instead we should figure out which block is actually supporting us. I don't really know how to do this.
First off, don't do any of this if the block below playerFeet is canWalkOn.
In the scenario where our current position isn't a valid place to start a path, we need to check the 8 adjacent blocks to see if they're supporting us.
The text was updated successfully, but these errors were encountered:
I've come up with a "good enough" solution, in my opinion
In the scenario where we are on the ground, yet the block directly below our feet isn't canWalkOn (i.e. we're sneaking off an edge), figure out the block we're sneaking off of, and start a path from there
In the scenario where we are not on the ground, and the block directly below our feet isn't canWalkOn, but the block directly below that is canWalkOn, move our starting block down by one
In all other scenarios, playerFeet is the path start
Here is a video demonstrating that algorithm in action, the block highlighted in white is where a path would start: https://youtu.be/5jlVmMXFCxU
If you sneak off the edge of a block and start a path, the starting position will be not actually supported. If it was off the edge of a cliff, it's possible that the first movement will cause the player to just fall off.
Right now there is a heuristic, here:
https://github.com/cabaletta/baritone/blame/master/src/main/java/baritone/behavior/PathingBehavior.java#L259
ee8e44d
It's okay, but only if you're sneaking over a 1-high ledge.
It also requires this sketchy workaround:
https://github.com/cabaletta/baritone/blob/master/src/main/java/baritone/pathing/path/PathExecutor.java#L97
Which isn't great.
Instead we should figure out which block is actually supporting us. I don't really know how to do this.
First off, don't do any of this if the block below playerFeet is canWalkOn.
In the scenario where our current position isn't a valid place to start a path, we need to check the 8 adjacent blocks to see if they're supporting us.
The text was updated successfully, but these errors were encountered: