mirror of
https://github.com/minetest-mods/mesecons.git
synced 2024-11-16 15:20:32 +01:00
Modified movestone pistons mvps for all liquid
This commit is contained in:
parent
bcd6634811
commit
e10bff62f0
|
@ -99,8 +99,8 @@ 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 string.find(checknode.name, "_source")
|
||||
or string.find(checknode.name, "_flowing")
|
||||
minetest.env:remove_node(pos)
|
||||
nodeupdate(pos)
|
||||
minetest.env:add_entity(pos, "mesecons_movestones:movestone_entity")
|
||||
|
@ -177,8 +177,8 @@ 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 string.find(checknode.name, "_source")
|
||||
or string.find(checknode.name, "_flowing")
|
||||
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,8 +187,8 @@ 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 string.find(checknode.name, "_source")
|
||||
or string.find(checknode.name, "_flowing")
|
||||
|
||||
minetest.env:remove_node(pos)
|
||||
nodeupdate(pos)
|
||||
|
|
|
@ -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 string.find(lnode.name, "_source") or string.find(lnode.name, "_flowing") 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 not(string.find(lnode.name, "_flowing")) and not(string.find(lnode.name, "_source")) then return end
|
||||
if lnode2.name == "ignore" or lnode2.name == "air" or string.find(lnode2.name, "_source") or string.find(lnode2.name, "_flowing") 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 string.find(lnode.name, "_source") or string.find(lnode.name, "_flowing")
|
||||
minetest.env:remove_node(oldpos)
|
||||
end
|
||||
|
||||
|
|
|
@ -135,10 +135,8 @@ 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 string.find(checknode.name, "_source")
|
||||
or string.find(checknode.name, "_flowing") then
|
||||
break
|
||||
end
|
||||
|
||||
|
@ -203,10 +201,8 @@ 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 string.find(checknode.name, "_source")
|
||||
and string.find(checknode.name, "_flowing")
|
||||
and not mesecon:is_mvps_stopper(checknode.name) then
|
||||
minetest.env:set_node(pos, checknode)
|
||||
minetest.env:remove_node(checkpos)
|
||||
|
|
|
@ -141,10 +141,8 @@ 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 string.find(checknode.name, "_flowing")
|
||||
or string.find(checknode.name, "_source") then
|
||||
break
|
||||
end
|
||||
|
||||
|
@ -209,10 +207,8 @@ 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 string.find(checknode.name, "_source")
|
||||
and string.find(checknode.name, "_flowing")
|
||||
and not mesecon:is_mvps_stopper(checknode.name) then
|
||||
minetest.env:remove_node(checkpos)
|
||||
mesecon:updatenode(checkpos)
|
||||
|
|
|
@ -129,10 +129,8 @@ 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 string.find(checknode.name, "_source")
|
||||
or string.find(checknode.name, "_flowing") then
|
||||
break
|
||||
end
|
||||
|
||||
|
@ -197,10 +195,8 @@ 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 string.find(checknode.name, "_source")
|
||||
and string.find(checknode.name, "_flowing")
|
||||
and not mesecon:is_mvps_stopper(checknode.name) then
|
||||
minetest.env:remove_node(checkpos)
|
||||
mesecon:updatenode(checkpos)
|
||||
|
|
Loading…
Reference in New Issue
Block a user