From 0459eca8eb2e73e9670e00b838dabc9347acb35f Mon Sep 17 00:00:00 2001 From: paramat Date: Sun, 17 Jan 2016 05:11:35 +0000 Subject: [PATCH] Liquid flow: Prevent water spreading on ignore --- src/map.cpp | 7 +++++-- 1 file 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 & 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: