From b7553145b088f595d3af187a0515a70aaaadc46b Mon Sep 17 00:00:00 2001 From: Jat Date: Thu, 30 Aug 2012 14:20:18 +0200 Subject: [PATCH] Actuator ignored liquid (all) --- mesecons_movestones/init.lua | 10 +++------- mesecons_mvps/init.lua | 8 ++++---- mesecons_pistons/init.lua | 10 ++-------- mesecons_pistons/pistons_down.lua | 10 ++-------- mesecons_pistons/pistons_up.lua | 10 ++-------- 5 files changed, 13 insertions(+), 35 deletions(-) diff --git a/mesecons_movestones/init.lua b/mesecons_movestones/init.lua index 857ddd4..5198a29 100644 --- a/mesecons_movestones/init.lua +++ b/mesecons_movestones/init.lua @@ -99,8 +99,7 @@ mesecon:register_on_signal_on(function (pos, node) end until checknode.name=="air" or checknode.name=="ignore" - or checknode.name=="default:water" - or checknode.name=="default:water_flowing" + or not(minetest.registered_nodes[checknode.name].liquidtype == "none") minetest.env:remove_node(pos) nodeupdate(pos) minetest.env:add_entity(pos, "mesecons_movestones:movestone_entity") @@ -177,8 +176,7 @@ mesecon:register_on_signal_on(function (pos, node) end until checknode.name=="air" or checknode.name=="ignore" - or checknode.name=="default:water" - or checknode.name=="default:water_flowing" + or not(minetest.registered_nodes[checknode.name].liquidtype == "none") repeat -- Check if it collides with a stopper (pull direction) collpos={x=collpos.x-direction.x, y=collpos.y-direction.y, z=collpos.z-direction.z} checknode=minetest.env:get_node(collpos) @@ -187,9 +185,7 @@ mesecon:register_on_signal_on(function (pos, node) end until checknode.name=="air" or checknode.name=="ignore" - or checknode.name=="default:water" - or checknode.name=="default:water_flowing" - + or not(minetest.registered_nodes[checknode.name].liquidtype == "none") minetest.env:remove_node(pos) nodeupdate(pos) minetest.env:add_entity(pos, "mesecons_movestones:sticky_movestone_entity") diff --git a/mesecons_mvps/init.lua b/mesecons_mvps/init.lua index 419dee0..3903910 100644 --- a/mesecons_mvps/init.lua +++ b/mesecons_mvps/init.lua @@ -29,7 +29,7 @@ function mesecon:mvps_push(pos, direction) -- pos: pos of mvps; direction: direc local lnode = minetest.env:get_node(lpos) local newnode minetest.env:remove_node(lpos) - while not(lnode.name == "ignore" or lnode.name == "air" or lnode.name == "default:water" or lnode.name == "default:water_flowing") do + while not(lnode.name == "ignore" or lnode.name == "air" or not(minetest.registered_nodes[lnode.name].liquidtype == "none")) do lpos.x=lpos.x+direction.x lpos.y=lpos.y+direction.y lpos.z=lpos.z+direction.z @@ -46,8 +46,8 @@ function mesecon:mvps_pull_all(pos, direction) -- pos: pos of mvps; direction: d local lpos2 = {x=pos.x-direction.x*2, y=pos.y-direction.y*2, z=pos.z-direction.z*2} -- 2 away local lnode2 = minetest.env:get_node(lpos2) - if lnode.name ~= "ignore" and lnode.name ~= "air" and lnode.name ~= "default:water" and lnode.name ~= "default:water_flowing" then return end - if lnode2.name == "ignore" or lnode2.name == "air" or lnode2.name == "default:water" or lnode2.name == "default:water_flowing" then return end + if lnode.name ~= "ignore" and lnode.name ~= "air" and minetest.registered_nodes[lnode.name].liquidtype == "none" then return end + if lnode2.name == "ignore" or lnode2.name == "air" or not(minetest.registered_nodes[lnode2.name].liquidtype == "none") then return end local oldpos = {x=lpos2.x+direction.x, y=lpos2.y+direction.y, z=lpos2.z+direction.z} repeat @@ -58,7 +58,7 @@ function mesecon:mvps_pull_all(pos, direction) -- pos: pos of mvps; direction: d lpos2.y = lpos2.y-direction.y lpos2.z = lpos2.z-direction.z lnode = minetest.env:get_node(lpos2) - until lnode.name=="air" or lnode.name=="ignore" or lnode.name=="default:water" or lnode.name=="default:water_flowing" + until lnode.name=="air" or lnode.name=="ignore" or not(minetest.registered_nodes[lnode2.name].liquidtype == "none") minetest.env:remove_node(oldpos) end diff --git a/mesecons_pistons/init.lua b/mesecons_pistons/init.lua index 1bf7034..3e3f75e 100644 --- a/mesecons_pistons/init.lua +++ b/mesecons_pistons/init.lua @@ -135,10 +135,7 @@ mesecon:register_on_signal_on(function(pos, node) --check for column end if checknode.name == "air" or checknode.name == "ignore" - or checknode.name == "default:water_source" - or checknode.name == "default:water_flowing" - or checknode.name == "default:lava_source" - or checknode.name == "default:lava_flowing" then + or not(minetest.registered_nodes[checknode.name].liquidtype == "none") then break end @@ -203,10 +200,7 @@ mesecon:register_on_signal_off(function(pos, node) checknode = minetest.env:get_node(checkpos) if checknode.name ~= "air" and checknode.name ~= "ignore" - and checknode.name ~= "default:water_source" - and checknode.name ~= "default:water_flowing" - and checknode.name ~= "default:lava_source" - and checknode.name ~= "default:lava_flowing" + and minetest.registered_nodes[checknode.name].liquidtype == "none" and not mesecon:is_mvps_stopper(checknode.name) then minetest.env:set_node(pos, checknode) minetest.env:remove_node(checkpos) diff --git a/mesecons_pistons/pistons_down.lua b/mesecons_pistons/pistons_down.lua index 4d39c7f..e8dada5 100644 --- a/mesecons_pistons/pistons_down.lua +++ b/mesecons_pistons/pistons_down.lua @@ -141,10 +141,7 @@ mesecon:register_on_signal_on(function(pos, node) --check for column end if checknode.name == "air" or checknode.name == "ignore" - or checknode.name == "default:water_source" - or checknode.name == "default:water_flowing" - or checknode.name == "default:lava_source" - or checknode.name == "default:lava_flowing" then + or not(minetest.registered_nodes[checknode.name].liquidtype == "none") then break end @@ -209,10 +206,7 @@ mesecon:register_on_signal_off(function(pos, node) checknode = minetest.env:get_node(checkpos) if checknode.name ~= "air" and checknode.name ~= "ignore" - and checknode.name ~= "default:water_source" - and checknode.name ~= "default:water_flowing" - and checknode.name ~= "default:lava_source" - and checknode.name ~= "default:lava_flowing" + and minetest.registered_nodes[checknode.name].liquidtype == "none" and not mesecon:is_mvps_stopper(checknode.name) then minetest.env:remove_node(checkpos) mesecon:updatenode(checkpos) diff --git a/mesecons_pistons/pistons_up.lua b/mesecons_pistons/pistons_up.lua index b3f3261..9002068 100644 --- a/mesecons_pistons/pistons_up.lua +++ b/mesecons_pistons/pistons_up.lua @@ -129,10 +129,7 @@ mesecon:register_on_signal_on(function(pos, node) --check for column end if checknode.name == "air" or checknode.name == "ignore" - or checknode.name == "default:water_source" - or checknode.name == "default:water_flowing" - or checknode.name == "default:lava_source" - or checknode.name == "default:lava_flowing" then + or not(minetest.registered_nodes[checknode.name].liquidtype == "none") then break end @@ -197,10 +194,7 @@ mesecon:register_on_signal_off(function(pos, node) checknode = minetest.env:get_node(checkpos) if checknode.name ~= "air" and checknode.name ~= "ignore" - and checknode.name ~= "default:water_source" - and checknode.name ~= "default:water_flowing" - and checknode.name ~= "default:lava_source" - and checknode.name ~= "default:lava_flowing" + and minetest.registered_nodes[checknode.name].liquidtype == "none" and not mesecon:is_mvps_stopper(checknode.name) then minetest.env:remove_node(checkpos) mesecon:updatenode(checkpos)