diff options
author | paramat <mat.gregory@virginmedia.com> | 2016-01-17 05:11:35 +0000 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2016-01-20 00:37:00 +0000 |
commit | 0459eca8eb2e73e9670e00b838dabc9347acb35f (patch) | |
tree | 3ae0535e5951e72d42c67d85dbb92ad3989fa5f5 | |
parent | 882a89d65aa78b89cfaf2af054d15cc4c94ad022 (diff) | |
download | minetest-0459eca8eb2e73e9670e00b838dabc9347acb35f.tar.gz minetest-0459eca8eb2e73e9670e00b838dabc9347acb35f.tar.bz2 minetest-0459eca8eb2e73e9670e00b838dabc9347acb35f.zip |
Liquid flow: Prevent water spreading on ignore
-rw-r--r-- | src/map.cpp | 7 |
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: |