diff options
author | Gargaj <gargaj@conspiracy.hu> | 2015-11-10 14:02:07 +0100 |
---|---|---|
committer | Gargaj <gargaj@conspiracy.hu> | 2015-12-13 15:16:15 +0100 |
commit | 66e65898838e3d5d40dfb225fd6c34f0f354b2e3 (patch) | |
tree | 159a72d2f877d4672d1a633853584c5b5e723f21 /src/Entities/Entity.cpp | |
parent | Merge pull request #2743 from SafwatHalaby/wart (diff) | |
download | cuberite-66e65898838e3d5d40dfb225fd6c34f0f354b2e3.tar cuberite-66e65898838e3d5d40dfb225fd6c34f0f354b2e3.tar.gz cuberite-66e65898838e3d5d40dfb225fd6c34f0f354b2e3.tar.bz2 cuberite-66e65898838e3d5d40dfb225fd6c34f0f354b2e3.tar.lz cuberite-66e65898838e3d5d40dfb225fd6c34f0f354b2e3.tar.xz cuberite-66e65898838e3d5d40dfb225fd6c34f0f354b2e3.tar.zst cuberite-66e65898838e3d5d40dfb225fd6c34f0f354b2e3.zip |
Diffstat (limited to 'src/Entities/Entity.cpp')
-rw-r--r-- | src/Entities/Entity.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp index f44dbe27c..4c84df1f4 100644 --- a/src/Entities/Entity.cpp +++ b/src/Entities/Entity.cpp @@ -1029,16 +1029,17 @@ void cEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) NextSpeed.z = 0.0f; } - if (Tracer.HitNormal.y == 1.0f) // Hit BLOCK_FACE_YP, we are on the ground - { - m_bOnGround = true; - } - // Now, set our position to the hit block (i.e. move part way along our intended trajectory) NextPos.Set(Tracer.RealHit.x, Tracer.RealHit.y, Tracer.RealHit.z); NextPos.x += Tracer.HitNormal.x * 0.1; NextPos.y += Tracer.HitNormal.y * 0.05; NextPos.z += Tracer.HitNormal.z * 0.1; + + if (Tracer.HitNormal.y == 1.0f) // Hit BLOCK_FACE_YP, we are on the ground + { + m_bOnGround = true; + NextPos.y = FloorC(NextPos.y); // we clamp the height to 0 cos otherwise we'll constantly be slightly above the block + } } else { |