From 77af6d95223de210f145230e10c7688a58fa1bc8 Mon Sep 17 00:00:00 2001 From: SFENCE Date: Sat, 16 Dec 2023 11:07:18 +0100 Subject: [PATCH] Fix replacing of liquid source by alternative liquid source. --- .../devtest/mods/testnodes/sunken_covered.lua | 24 +++++++++---------- src/servermap.cpp | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/games/devtest/mods/testnodes/sunken_covered.lua b/games/devtest/mods/testnodes/sunken_covered.lua index 14d0ff6fe..a54fa9c71 100644 --- a/games/devtest/mods/testnodes/sunken_covered.lua +++ b/games/devtest/mods/testnodes/sunken_covered.lua @@ -15,10 +15,10 @@ minetest.register_node("testnodes:sunken_torchlike", { buildable_to = true, is_ground_content = false, liquidtype = "source", - --liquid_alternative_flowing = "testnodes:rliquid_flowing_5", - --liquid_alternative_source = "testnodes:rliquid_5", - liquid_alternative_flowing = "testnodes:sunken_torchlike", - liquid_alternative_source = "testnodes:sunken_torchlike", + liquid_alternative_flowing = "testnodes:rliquid_flowing_5", + liquid_alternative_source = "testnodes:rliquid_5", + --liquid_alternative_flowing = "testnodes:sunken_torchlike", + --liquid_alternative_source = "testnodes:sunken_torchlike", liquid_range = 0, inner_node = "testnodes:torchlike", @@ -38,10 +38,10 @@ minetest.register_node("testnodes:sunken_nodebox", { buildable_to = true, is_ground_content = false, liquidtype = "source", - --liquid_alternative_flowing = "testnodes:rliquid_flowing_5", - --liquid_alternative_source = "testnodes:rliquid_5", - liquid_alternative_flowing = "testnodes:sunken_nodebox", - liquid_alternative_source = "testnodes:sunken_nodebox", + liquid_alternative_flowing = "testnodes:rliquid_flowing_5", + liquid_alternative_source = "testnodes:rliquid_5", + --liquid_alternative_flowing = "testnodes:sunken_nodebox", + --liquid_alternative_source = "testnodes:sunken_nodebox", liquid_range = 0, inner_node = "testnodes:nodebox_fixed", @@ -61,10 +61,10 @@ minetest.register_node("testnodes:sunken_mesh", { buildable_to = true, is_ground_content = false, liquidtype = "source", - --liquid_alternative_flowing = "testnodes:rliquid_flowing_5", - --liquid_alternative_source = "testnodes:rliquid_5", - liquid_alternative_flowing = "testnodes:sunken_nodebox", - liquid_alternative_source = "testnodes:sunken_nodebox", + liquid_alternative_flowing = "testnodes:rliquid_flowing_5", + liquid_alternative_source = "testnodes:rliquid_5", + --liquid_alternative_flowing = "testnodes:sunken_nodebox", + --liquid_alternative_source = "testnodes:sunken_nodebox", liquid_range = 0, inner_node = "testnodes:mesh", diff --git a/src/servermap.cpp b/src/servermap.cpp index a71fbecae..34e878130 100644 --- a/src/servermap.cpp +++ b/src/servermap.cpp @@ -1040,7 +1040,7 @@ void ServerMap::transformLiquids(std::map &modified_blocks, // 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 = m_nodedef->get(liquid_kind).liquid_alternative_source_id; + new_node_content = (liquid_type != LIQUID_SOURCE) ? (m_nodedef->get(liquid_kind).liquid_alternative_source_id) : (n0.getContent()); } else if (num_sources >= 1 && sources[0].t != NEIGHBOR_LOWER) { // liquid_kind is set properly, see above max_node_level = new_node_level = LIQUID_LEVEL_MAX;