diff options
Diffstat (limited to 'src/Entities/Player.cpp')
-rw-r--r-- | src/Entities/Player.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp index c2c3b51ea..07460fe98 100644 --- a/src/Entities/Player.cpp +++ b/src/Entities/Player.cpp @@ -2577,9 +2577,17 @@ float cPlayer::GetLiquidHeightPercent(NIBBLETYPE a_Meta) bool cPlayer::IsInsideWater() { + const auto EyePos = GetEyePosition().Floor(); + + if (!cChunkDef::IsValidHeight(EyePos.y)) + { + // Not in water if in void. + return false; + } + BLOCKTYPE Block; NIBBLETYPE Meta; - m_World->GetBlockTypeMeta(GetEyePosition().Floor(), Block, Meta); + m_World->GetBlockTypeMeta(EyePos, Block, Meta); if ((Block != E_BLOCK_WATER) && (Block != E_BLOCK_STATIONARY_WATER)) { |