remove water node at spigot only at the
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>
Fri, 10 May 2013 20:17:47 +0000 (16:17 -0400)
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>
Fri, 10 May 2013 20:17:47 +0000 (16:17 -0400)
pouring-->off transition, not repeatedly.

flowing_logic.lua

index 7503296e4078641395ed935711194bdd330ef1e9..2b03ef3721128a22ec6afc75b10b60942151d99e 100644 (file)
@@ -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