diff options
Diffstat (limited to 'src/World.cpp')
-rw-r--r-- | src/World.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/World.cpp b/src/World.cpp index d767871..c3246dc 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -378,7 +378,12 @@ void World::SetBlockId(Vector pos, BlockId block) { std::floor(pos.y / 16.0), std::floor(pos.z / 16.0)); Vector blockPos = pos - (sectionPos * 16); - auto section = std::make_shared<Section>(*GetSectionPtr(sectionPos)); + const Section* sectionPtr = GetSectionPtr(sectionPos); + if (!sectionPtr) { + LOG(ERROR) << "Updating unloaded chunk " << sectionPos; + return; + } + auto section = std::make_shared<Section>(*sectionPtr); section->SetBlockId(blockPos, block); sections[sectionPos] = section; PUSH_EVENT("ChunkChanged",sectionPos); |