diff --git a/common/systems/src/phys.rs b/common/systems/src/phys.rs index 8c8104a1ce..d5e294e75d 100644 --- a/common/systems/src/phys.rs +++ b/common/systems/src/phys.rs @@ -1540,7 +1540,10 @@ fn box_voxel_collision<'a, T: BaseVol + ReadVol>( .unwrap_or(0.0); vel.0.z = 0.0; pos.0.z = (pos.0.z - 0.1).floor() + snap_height; - physics_state.on_ground = on_ground; + physics_state.on_ground = terrain + .get(Vec3::new(pos.0.x, pos.0.y, pos.0.z - 0.01).map(|e| e.floor() as i32)) + .ok() + .copied(); } let player_aabb = Aabb {