47 lines
1.1 KiB
Lua
47 lines
1.1 KiB
Lua
|
|
||
|
minetest.register_node("digicontrol:filter", {
|
||
|
description = "Digilines Filter",
|
||
|
inventory_image = "digicontrol_filter.png",
|
||
|
tiles = {
|
||
|
"digicontrol_filter.png",
|
||
|
"digicontrol_bottom.png",
|
||
|
"digicontrol_side_port.png",
|
||
|
"digicontrol_side_port.png",
|
||
|
"digicontrol_side.png",
|
||
|
"digicontrol_side.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
node_box = digicontrol.node_box,
|
||
|
selection_box = digicontrol.selection_box,
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
is_ground_content = false,
|
||
|
groups = {digicontrol = 1, dig_immediate = 2},
|
||
|
digiline = {
|
||
|
semiconductor = {
|
||
|
rules = function(node, pos, from, channel)
|
||
|
local setchannel = minetest.get_meta(pos):get_string("channel")
|
||
|
if channel ~= setchannel then return {} end
|
||
|
local side = digicontrol.get_side(pos, from, node.param2)
|
||
|
if side == 3 then
|
||
|
return {
|
||
|
digicontrol.get_rule(1, node.param2)
|
||
|
}
|
||
|
else
|
||
|
return {
|
||
|
digicontrol.get_rule(3, node.param2)
|
||
|
}
|
||
|
end
|
||
|
end
|
||
|
},
|
||
|
wire = {
|
||
|
rules = function(node)
|
||
|
return {
|
||
|
digicontrol.get_rule(1, node.param2),
|
||
|
digicontrol.get_rule(3, node.param2)
|
||
|
}
|
||
|
end
|
||
|
}
|
||
|
}
|
||
|
})
|