summaryrefslogtreecommitdiffstats
path: root/src/Entities/Player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Entities/Player.cpp')
-rw-r--r--src/Entities/Player.cpp10
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))
{