From: Vanessa Ezekowitz Date: Fri, 10 May 2013 20:17:47 +0000 (-0400) Subject: remove water node at spigot only at the X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=54a78297bbe9d0d44926bc003b391b2174e3dd6f;p=zefram%2Fminetest%2Fpipeworks.git remove water node at spigot only at the pouring-->off transition, not repeatedly. --- diff --git a/flowing_logic.lua b/flowing_logic.lua index 7503296..2b03ef3 100644 --- a/flowing_logic.lua +++ b/flowing_logic.lua @@ -88,11 +88,13 @@ local spigot_check = function(pos,node) local name = minetest.env:get_node({x=pos.x,y=pos.y-1,z=pos.z}).name if string.find(top,'_loaded') and (name == 'air' or name == "default:water_source" or name == "default:water_flowing") then minetest.env:add_node({x=pos.x,y=pos.y-1,z=pos.z},{name='default:water_source'}) - minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot_pouring', param2 = fdir}) + minetest.env:add_node(pos,{name='pipeworks:spigot_pouring', param2 = fdir}) else - minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot', param2 = fdir}) - if name == 'air' or name == "default:water_source" or name == "default:water_flowing" then - minetest.env:remove_node({x=pos.x,y=pos.y-1,z=pos.z}) + if minetest.env:get_node(pos).name == 'pipeworks:spigot_pouring' then + minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot', param2 = fdir}) + if name == 'air' or name == "default:water_source" or name == "default:water_flowing" then + minetest.env:remove_node({x=pos.x,y=pos.y-1,z=pos.z}) + end end end end