diff --git a/src/map.cpp b/src/map.cpp index 9d9737832..b75e8d11d 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1579,11 +1579,11 @@ MapBlock * ServerMap::emergeBlock(v3s16 p, bool create_blank) return NULL; } -MapBlock *ServerMap::getBlockOrEmerge(v3s16 p3d) +MapBlock *ServerMap::getBlockOrEmerge(v3s16 p3d, bool generate) { MapBlock *block = getBlockNoCreateNoEx(p3d); if (block == NULL) - m_emerge->enqueueBlockEmerge(PEER_ID_INEXISTENT, p3d, false); + m_emerge->enqueueBlockEmerge(PEER_ID_INEXISTENT, p3d, generate); return block; } diff --git a/src/map.h b/src/map.h index 6f1730d60..482ff2859 100644 --- a/src/map.h +++ b/src/map.h @@ -388,7 +388,7 @@ public: - Memory - Emerge Queue (deferred disk or generate) */ - MapBlock *getBlockOrEmerge(v3s16 p3d); + MapBlock *getBlockOrEmerge(v3s16 p3d, bool generate); bool isBlockInQueue(v3s16 pos); diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp index d8972d045..e92b00f57 100644 --- a/src/serverenvironment.cpp +++ b/src/serverenvironment.cpp @@ -1457,7 +1457,7 @@ void ServerEnvironment::step(float dtime) */ for (const v3s16 &p: blocks_added) { - MapBlock *block = m_map->getBlockOrEmerge(p); + MapBlock *block = m_map->getBlockOrEmerge(p, true); if (!block) { // TODO: The blocks removed here will only be picked up again // on the next cycle. To minimize the latency of objects being