summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/treegen.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/treegen.cpp b/src/treegen.cpp
index 574cc034d..25f614d27 100644
--- a/src/treegen.cpp
+++ b/src/treegen.cpp
@@ -542,10 +542,13 @@ void tree_trunk_placement(MMVManip &vmanip, v3f p0, TreeDef &tree_definition)
if (vmanip.m_area.contains(p1) == false)
return;
u32 vi = vmanip.m_area.index(p1);
- if (vmanip.m_data[vi].getContent() != CONTENT_AIR
- && vmanip.m_data[vi].getContent() != CONTENT_IGNORE)
+ content_t current_node = vmanip.m_data[vi].getContent();
+ if (current_node != CONTENT_AIR && current_node != CONTENT_IGNORE
+ && current_node != tree_definition.leavesnode.getContent()
+ && current_node != tree_definition.leaves2node.getContent()
+ && current_node != tree_definition.fruitnode.getContent())
return;
- vmanip.m_data[vmanip.m_area.index(p1)] = tree_definition.trunknode;
+ vmanip.m_data[vi] = tree_definition.trunknode;
}