summary refs log tree commit diff
path: root/src/World/Generation/Decoration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/World/Generation/Decoration.cpp')
-rw-r--r--src/World/Generation/Decoration.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/World/Generation/Decoration.cpp b/src/World/Generation/Decoration.cpp
index f3f7c46..bcabffa 100644
--- a/src/World/Generation/Decoration.cpp
+++ b/src/World/Generation/Decoration.cpp
@@ -7,8 +7,10 @@ void Decorator::put_block(Chunk& chunk, Pos pos, BlockType block) {
     if (!Chunk::is_valid_position(pos.x(), pos.y(), pos.z())) {
         return;
     }
-    if (chunk.is_empty(pos.x(), pos.y(), pos.z())) {
-        chunk.set(pos.x(), pos.y(), pos.z(), {block});
+
+    auto& place = chunk.at(pos.x(), pos.y(), pos.z());
+    if (place.empty()) {
+        place = {block};
     }
 }
 
@@ -48,7 +50,7 @@ void TreeDecorator::decorate_chunk(Chunk& chunk) {
                 if (!is_valid_position(pos))
                     continue;
 
-                auto block_below = chunk.get(x, y-1, z);
+                auto& block_below = chunk.at(x, y-1, z);
                 if (block_below.empty())
                     continue;
 
@@ -64,7 +66,7 @@ void TreeDecorator::decorate_chunk(Chunk& chunk) {
                     continue;
 
                 draw_tree(chunk, pos);
-                chunk.set(x, y-1, z, {BlockType::Dirt});
+                block_below = {BlockType::Dirt};
                 last_tree = pos;
                 break;
             }