forked from mtcontrib/pipeworks
fix facedir getting reset in detector tubes on state change
This commit is contained in:
parent
5f393d0545
commit
ea32144950
26
tubes.lua
26
tubes.lua
@ -357,15 +357,17 @@ if pipeworks.enable_detector_tube then
|
|||||||
mesecons = {receptor = {state = "on",
|
mesecons = {receptor = {state = "on",
|
||||||
rules = pipeworks.mesecons_rules}},
|
rules = pipeworks.mesecons_rules}},
|
||||||
item_exit = function(pos)
|
item_exit = function(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local nitems = meta:get_int("nitems")-1
|
local nitems = meta:get_int("nitems")-1
|
||||||
local name = minetest.get_node(pos).name
|
local node = minetest.get_node(pos)
|
||||||
if nitems == 0 then
|
local name = node.name
|
||||||
minetest.set_node(pos,{name = string.gsub(name, "on", "off")})
|
local fdir = node.param2
|
||||||
|
if nitems == 0 then
|
||||||
|
minetest.set_node(pos, {name = string.gsub(name, "on", "off"), param2 = fdir})
|
||||||
mesecon:receptor_off(pos, pipeworks.mesecons_rules)
|
mesecon:receptor_off(pos, pipeworks.mesecons_rules)
|
||||||
else
|
else
|
||||||
meta:set_int("nitems", nitems)
|
meta:set_int("nitems", nitems)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
@ -376,10 +378,12 @@ if pipeworks.enable_detector_tube then
|
|||||||
pipeworks.register_tube("pipeworks:detector_tube_off", "Detector tube segment", detector_plain_textures, noctr_textures,
|
pipeworks.register_tube("pipeworks:detector_tube_off", "Detector tube segment", detector_plain_textures, noctr_textures,
|
||||||
end_textures, short_texture, detector_inv_texture,
|
end_textures, short_texture, detector_inv_texture,
|
||||||
{tube = {can_go = function(pos, node, velocity, stack)
|
{tube = {can_go = function(pos, node, velocity, stack)
|
||||||
local name = minetest.get_node(pos).name
|
local node = minetest.get_node(pos)
|
||||||
minetest.set_node(pos,{name = string.gsub(name, "off", "on")})
|
local name = node.name
|
||||||
mesecon:receptor_on(pos, pipeworks.mesecons_rules)
|
local fdir = node.param2
|
||||||
return pipeworks.notvel(pipeworks.meseadjlist, velocity)
|
minetest.set_node(pos,{name = string.gsub(name, "off", "on"), param2 = fdir})
|
||||||
|
mesecon:receptor_on(pos, pipeworks.mesecons_rules)
|
||||||
|
return pipeworks.notvel(pipeworks.meseadjlist, velocity)
|
||||||
end},
|
end},
|
||||||
groups = {mesecon = 2},
|
groups = {mesecon = 2},
|
||||||
mesecons = {receptor = {state = "off",
|
mesecons = {receptor = {state = "off",
|
||||||
|
Loading…
Reference in New Issue
Block a user