diff options
author | STRWarrior <niels.breuker@hotmail.nl> | 2014-07-30 19:18:11 +0200 |
---|---|---|
committer | STRWarrior <niels.breuker@hotmail.nl> | 2014-07-30 19:18:11 +0200 |
commit | c4e6a1423506c253974c7512a4b9b854a1e41b54 (patch) | |
tree | 667c563e244cdcd8e761fee58bb3e15f97d62484 | |
parent | Removed lighting code in cEnderman::CheckEventSeePlayer (diff) | |
download | cuberite-c4e6a1423506c253974c7512a4b9b854a1e41b54.tar cuberite-c4e6a1423506c253974c7512a4b9b854a1e41b54.tar.gz cuberite-c4e6a1423506c253974c7512a4b9b854a1e41b54.tar.bz2 cuberite-c4e6a1423506c253974c7512a4b9b854a1e41b54.tar.lz cuberite-c4e6a1423506c253974c7512a4b9b854a1e41b54.tar.xz cuberite-c4e6a1423506c253974c7512a4b9b854a1e41b54.tar.zst cuberite-c4e6a1423506c253974c7512a4b9b854a1e41b54.zip |
-rw-r--r-- | src/Mobs/Enderman.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/Mobs/Enderman.cpp b/src/Mobs/Enderman.cpp index 9c1cb7ce3..f1f366d3b 100644 --- a/src/Mobs/Enderman.cpp +++ b/src/Mobs/Enderman.cpp @@ -116,6 +116,23 @@ void cEnderman::CheckEventSeePlayer() ASSERT(Callback.GetPlayer() != NULL); + int ChunkX, ChunkZ; + cChunkDef::BlockToChunk(POSX_TOINT, POSZ_TOINT, ChunkX, ChunkZ); + + // Check if the chunk the enderman is in is lit. + if (!m_World->IsChunkLighted(ChunkX, ChunkZ)) + { + m_World->QueueLightChunk(ChunkX, ChunkZ); + return; + } + + // Enderman only attack if the skylight is higher than 6 + if (m_World->GetBlockSkyLight(POSX_TOINT, POSY_TOINT, POSZ_TOINT) <= 7) + { + // TODO: Teleport the enderman to a random spot. + return; + } + if (!Callback.GetPlayer()->IsGameModeCreative()) { super::EventSeePlayer(Callback.GetPlayer()); |