Geyser
Geyser copied to clipboard
Refactor the collision system, various improvements to how collision fixes is handle, more fixes (again).
This is my second attempt, since I screw up the last one :) yay! so.
Changes:
- Deleted grass path collision fix since as of 1.21.71, this block collision is the same as java edition.
- Deleted the logic for stepping in
correctPosition, since this caused many issues (already discuss in Discord). - Refactor code inside
correctPosition, make it little bit more readable. correctPositionnow no longer return true/false, as in the original code this method always return true.- Now for collisions fixes like trapdoor/door/glass pane/iron bar. Properly calculate the distance we actually need to move player position by instead of just moving it by a certain value, as the player could actually just clip less than that value, causing the position get offset more than it needed to, resolve #5930
- Fixed chest collision by moving player position down, resolve: #3277 and resolve #4955
- Fixed setback when hitting your head to an lantern
- Fixed setback when moving into an scaffolding due to collision differences (can be shown in #5787, however the player will fall through the scaffolding unlike java where they can work on it (bedrock behaviour)).
- Also fixed some other small issues caused by my last PR.
I wonder if the collision fix for trap doors fixes https://github.com/GeyserMC/Geyser/issues/2951?
Let me know once this is ready for review & I'll do testing on my end
I wonder if the collision fix for trap doors fixes #2951?
Nope it won't since as of now we're doing Don't correct position if controlling a vehicle, some changes have to made on the PR if we wanted to fix that.
Edit: Can't reproducible as of latest also.
I don't know what else to check for and add so I guess this PR is ready for review.