From: PilzAdam Date: Wed, 3 Dec 2014 17:46:02 +0000 (+0100) Subject: Dont dry out soil if unloaded blocks are nearby X-Git-Tag: 0.4.11~21 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=refs%2Fpull%2F362%2Fhead;p=oweals%2Fminetest_game.git Dont dry out soil if unloaded blocks are nearby --- diff --git a/mods/farming/nodes.lua b/mods/farming/nodes.lua index a36e43e4..10c4afe9 100644 --- a/mods/farming/nodes.lua +++ b/mods/farming/nodes.lua @@ -113,16 +113,20 @@ minetest.register_abm({ minetest.set_node(pos, {name = wet}) end else - -- turn it back into base if it is already dry - if wet_lvl == 0 then - -- only turn it back if there is no plant/seed on top of it - if minetest.get_item_group(nn.name, "plant") == 0 and minetest.get_item_group(nn.name, "seed") == 0 then - minetest.set_node(pos, {name = base}) + -- only turn back if there are no unloaded blocks (and therefore + -- possible water sources) nearby + if not minetest.find_node_near(pos, 3, {"ignore"}) then + -- turn it back into base if it is already dry + if wet_lvl == 0 then + -- only turn it back if there is no plant/seed on top of it + if minetest.get_item_group(nn.name, "plant") == 0 and minetest.get_item_group(nn.name, "seed") == 0 then + minetest.set_node(pos, {name = base}) + end + + -- if its wet turn it back into dry soil + elseif wet_lvl == 1 then + minetest.set_node(pos, {name = dry}) end - - -- if its wet turn it back into dry soil - elseif wet_lvl == 1 then - minetest.set_node(pos, {name = dry}) end end end,