Minecraft-Console-Client/MinecraftClient/Physics
BruceChen 034c5d0cab fix: correct collision axis ordering and step-up threshold to match vanilla
Two bugs in CollisionDetector caused persistent Y-axis bouncing (0.6 block
oscillation) while walking on flat ground:

1. GetAxisStepOrder used a complex 6-branch sorting that often placed
   horizontal axes before Y. Vanilla's Direction.Axis.axisStepOrder always
   resolves Y first, then the larger horizontal axis. Replaced with the
   simple two-case vanilla logic.

2. The horizontal-blocked checks (blockedX/blockedZ) used exact != which
   triggered on floating-point noise (~1e-15) from sin/cos in movement
   input. Vanilla uses Mth.equal (1e-5 threshold). This false positive
   caused step-up to fire every few ticks on flat terrain.

Also includes DescendTemplate robustness fixes from the previous session
(fail on unintended climbing, suppress forward input on climbable blocks).

Made-with: Cursor
2026-04-12 18:43:32 +00:00
..
Aabb.cs feat: implement physics engine for player movement and collision detection 2026-03-22 15:29:22 +08:00
BlockShapeData.json feat: implement physics engine for player movement and collision detection 2026-03-22 15:29:22 +08:00
BlockShapes.cs More minor optimizations 2026-03-26 18:01:56 +01:00
CollisionDetector.cs fix: correct collision axis ordering and step-up threshold to match vanilla 2026-04-12 18:43:32 +00:00
MovementInput.cs feat: implement physics engine for player movement and collision detection 2026-03-22 15:29:22 +08:00
PhysicsConsts.cs feat: add pose system, slime block bounce, and crawling to physics engine 2026-04-12 18:43:32 +00:00
PlayerPhysics.cs feat: add pose system, slime block bounce, and crawling to physics engine 2026-04-12 18:43:32 +00:00
Vec3d.cs feat: implement physics engine for player movement and collision detection 2026-03-22 15:29:22 +08:00