diff --git a/source/cClientHandle.cpp b/source/cClientHandle.cpp index 91ccb4005..70fa8e455 100644 --- a/source/cClientHandle.cpp +++ b/source/cClientHandle.cpp @@ -67,6 +67,7 @@ #include "packets/cPacket_PlayerListItem.h" #include "packets/cPacket_NamedEntitySpawn.h" #include "packets/cPacket_MapChunk.h" +#include "packets/cPacket_PreChunk.h" @@ -344,6 +345,7 @@ void cClientHandle::StreamChunks(void) if ((RelX > VIEWDISTANCE) || (RelX < -VIEWDISTANCE) || (RelZ > VIEWDISTANCE) || (RelZ < -VIEWDISTANCE)) { World->RemoveChunkClient(itr->m_ChunkX, itr->m_ChunkY, itr->m_ChunkZ, this); + Send( cPacket_PreChunk( itr->m_ChunkX, itr->m_ChunkZ, false ) ); itr = m_LoadedChunks.erase(itr); } else diff --git a/source/packets/cPacket_PreChunk.h b/source/packets/cPacket_PreChunk.h index 6e24ae5ae..cc8147c4a 100644 --- a/source/packets/cPacket_PreChunk.h +++ b/source/packets/cPacket_PreChunk.h @@ -15,6 +15,11 @@ public: , m_PosZ( 0 ) , m_bLoad( false ) { m_PacketID = E_PRE_CHUNK; } + cPacket_PreChunk( int a_PosX, int a_PosZ, bool a_bLoad ) + : m_PosX( a_PosX ) + , m_PosZ( a_PosZ ) + , m_bLoad( a_bLoad ) + { m_PacketID = E_PRE_CHUNK; } virtual cPacket* Clone() const { return new cPacket_PreChunk(*this); } virtual void Serialize(AString & a_Data) const override;