From 0459eca8eb2e73e9670e00b838dabc9347acb35f Mon Sep 17 00:00:00 2001
From: paramat <mat.gregory@virginmedia.com>
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<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:
-- 
GitLab