summaryrefslogtreecommitdiff
path: root/src/map.cpp
diff options
context:
space:
mode:
authorparamat <mat.gregory@virginmedia.com>2016-01-17 05:11:35 +0000
committerparamat <mat.gregory@virginmedia.com>2016-01-20 00:37:00 +0000
commit0459eca8eb2e73e9670e00b838dabc9347acb35f (patch)
tree3ae0535e5951e72d42c67d85dbb92ad3989fa5f5 /src/map.cpp
parent882a89d65aa78b89cfaf2af054d15cc4c94ad022 (diff)
downloadminetest-0459eca8eb2e73e9670e00b838dabc9347acb35f.tar.gz
minetest-0459eca8eb2e73e9670e00b838dabc9347acb35f.tar.bz2
minetest-0459eca8eb2e73e9670e00b838dabc9347acb35f.zip
Liquid flow: Prevent water spreading on ignore
Diffstat (limited to 'src/map.cpp')
-rw-r--r--src/map.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/map.cpp b/src/map.cpp
index ac29cfeee..409504232 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -1732,11 +1732,14 @@ void Map::transformLiquids(std::map<v3s16, MapBlock*> & modified_blocks)
if (nb.t != NEIGHBOR_UPPER && liquid_type != LIQUID_NONE)
m_transforming_liquid.push_back(npos);
// if the current node happens to be a flowing node, it will start to flow down here.
- if (nb.t == NEIGHBOR_LOWER) {
+ if (nb.t == NEIGHBOR_LOWER)
flowing_down = true;
- }
} else {
neutrals[num_neutrals++] = nb;
+ // If neutral below is ignore prevent water spreading outwards
+ if (nb.t == NEIGHBOR_LOWER &&
+ nb.n.getContent() == CONTENT_IGNORE)
+ flowing_down = true;
}
break;
case LIQUID_SOURCE: