diff --git a/src/voxels/Chunks.cpp b/src/voxels/Chunks.cpp index 2ab7e08e..2725cc9b 100644 --- a/src/voxels/Chunks.cpp +++ b/src/voxels/Chunks.cpp @@ -743,13 +743,16 @@ void Chunks::save(Chunk* chunk) { ) ); auto entities = level->entities->getAllInside(aabb); - auto root = dynamic::create_map(); + dynamic::Map_sptr root = nullptr; if (!entities.empty()) { + root = dynamic::create_map(); root->put("data", level->entities->serialize(entities)); level->entities->despawn(std::move(entities)); chunk->flags.entities = true; } - worldFiles->getRegions().put(chunk, json::to_binary(root, true)); + worldFiles->getRegions().put( + chunk, root ? json::to_binary(root, true) : std::vector() + ); } }