Baritone attempts to path by falling through carpet
Some information
Operating system: Windows 10 22H2 Java version: Version 8 Update 371 Minecraft version: Quilt 1.20.2 Baritone version: 1.2.19 Other mods (if used): Freecam 1.2.1.1, Fabric API 0.91.2
Exception, error or logs
N/A
How to reproduce
https://github.com/cabaletta/baritone/assets/72808210/8836e185-ac97-413c-a59d-b4a8b0fe4efc
Modified settings
allowBreak false allowPlace false allowInventory true blockPlacementPenalty 20.0 blockBreakAdditionalPenalty 4.0 allowDiagonalDescend true allowDiagonalAscend true allowParkour true allowParkourPlace true avoidance true prefix ## mineDropLoiterDurationMSThanksLouca 500
Final checklist
- [x] I know how to properly use check boxes
- [x] I have included the version of Minecraft I'm running, baritone's version and forge mods (if used).
- [x] I have included logs, exceptions and / or steps to reproduce the issue.
- [x] I have not used any OwO's or UwU's in this issue.
Baritone can't properly handle carpets on non-full blocks (e.g. double carpets).
The easy fix would be checking pos.up in canWalkOn but that would almost double the amount of block queries done in canWalkOn. The alternative (and I think the way to go) is throwing some more special casing at movements. Any movement checking whether it wants to move onto a block also has to fetch the block above, because it has to check whether the player can move into that position and hence it can check for carpet separately from the normal canWalkOn logic.