summaryrefslogtreecommitdiff
path: root/src/map.cpp
diff options
context:
space:
mode:
authorPilzAdam <adam-k@outlook.com>2012-11-03 12:34:44 -0700
committerPilzAdam <adam-k@outlook.com>2012-11-03 12:34:44 -0700
commit3cab24fbcfbbeb12cdd9f085167969e1a934bd59 (patch)
tree2e3d14987c808e44cce1dd108b6c3224fc158ecf /src/map.cpp
parent755df5f659899e961a7b1875837088fbc6cc1a55 (diff)
parent926830e0df7b95d4e53c917db07236ef3e19e991 (diff)
downloadminetest-3cab24fbcfbbeb12cdd9f085167969e1a934bd59.tar.gz
minetest-3cab24fbcfbbeb12cdd9f085167969e1a934bd59.tar.bz2
minetest-3cab24fbcfbbeb12cdd9f085167969e1a934bd59.zip
Merge pull request #243 from xyzz/liquid_renewable
Add liquid_renewable property, allow non-renewable liquids.
Diffstat (limited to 'src/map.cpp')
-rw-r--r--src/map.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/map.cpp b/src/map.cpp
index 39c6d292b..2845f3a67 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -1746,12 +1746,12 @@ void Map::transformLiquids(core::map<v3s16, MapBlock*> & modified_blocks)
content_t new_node_content;
s8 new_node_level = -1;
s8 max_node_level = -1;
- if (num_sources >= 2 || liquid_type == LIQUID_SOURCE) {
+ if ((num_sources >= 2 && nodemgr->get(liquid_kind).liquid_renewable) || liquid_type == LIQUID_SOURCE) {
// liquid_kind will be set to either the flowing alternative of the node (if it's a liquid)
// or the flowing alternative of the first of the surrounding sources (if it's air), so
// it's perfectly safe to use liquid_kind here to determine the new node content.
new_node_content = nodemgr->getId(nodemgr->get(liquid_kind).liquid_alternative_source);
- } else if (num_sources == 1 && sources[0].t != NEIGHBOR_LOWER) {
+ } else if (num_sources >= 1 && sources[0].t != NEIGHBOR_LOWER) {
// liquid_kind is set properly, see above
new_node_content = liquid_kind;
max_node_level = new_node_level = LIQUID_LEVEL_MAX;