Compare commits
5 Commits
76d39046f2
...
6d20b4a0b2
Author | SHA1 | Date |
---|---|---|
Vitaliy | 6d20b4a0b2 | |
Lejo1 | 1c38a8d01e | |
Vitaliy | 5de15c5317 | |
numzero | 3d6132d1a6 | |
numzero | 5044de8542 |
|
@ -18,7 +18,7 @@ end
|
|||
local function diode_action(pos, node, channel, msg)
|
||||
if digiline_routing.overheat.heat(pos) > OVERLOAD_THRESHOLD then
|
||||
digiline_routing.overheat.forget(pos)
|
||||
minetest.dig_node(pos)
|
||||
minetest.remove_node(pos)
|
||||
minetest.add_item(pos, node.name)
|
||||
return
|
||||
end
|
||||
|
|
11
filter.lua
11
filter.lua
|
@ -46,9 +46,10 @@ local function filter_cleanup(pos, node)
|
|||
digiline_routing.multiblock.dig2(pos, node)
|
||||
end
|
||||
|
||||
local function filter_test(master, channel)
|
||||
local function filter_test(master, channel, node)
|
||||
if digiline_routing.overheat.heat(master) > OVERLOAD_THRESHOLD then
|
||||
minetest.dig_node(master)
|
||||
minetest.remove_node(master)
|
||||
filter_cleanup(master, node)
|
||||
minetest.add_item(master, "digiline_routing:filter")
|
||||
return false
|
||||
end
|
||||
|
@ -56,7 +57,7 @@ local function filter_test(master, channel)
|
|||
end
|
||||
|
||||
local function filter_in_action(pos, node, channel, msg)
|
||||
if filter_test(pos, channel) then
|
||||
if filter_test(pos, channel, node) then
|
||||
local off = minetest.facedir_to_dir(node.param2)
|
||||
local slave = vector.add(pos, off)
|
||||
digiline:receptor_send(slave, filter_rules_out(node), channel, msg)
|
||||
|
@ -66,7 +67,7 @@ end
|
|||
local function filter_out_action(pos, node, channel, msg)
|
||||
local off = minetest.facedir_to_dir(node.param2)
|
||||
local master = vector.subtract(pos, off)
|
||||
if filter_test(master, channel) then
|
||||
if filter_test(master, channel, node) then
|
||||
digiline:receptor_send(master, filter_rules_in(node), channel, msg)
|
||||
end
|
||||
end
|
||||
|
@ -115,6 +116,7 @@ minetest.register_node("digiline_routing:filter", {
|
|||
},
|
||||
},
|
||||
})
|
||||
mesecon.register_mvps_stopper("digiline_routing:filter")
|
||||
|
||||
minetest.register_node("digiline_routing:filter_b", {
|
||||
description = "<<INTERNAL>> Digiline Filter (Part B)",
|
||||
|
@ -144,3 +146,4 @@ minetest.register_node("digiline_routing:filter_b", {
|
|||
},
|
||||
},
|
||||
})
|
||||
mesecon.register_mvps_stopper("digiline_routing:filter_b")
|
||||
|
|
|
@ -5,11 +5,14 @@ digiline_routing.multiblock = {}
|
|||
|
||||
digiline_routing.multiblock.build2 = function(node1, node2, itemstack, placer, pointed_thing)
|
||||
local under = pointed_thing.under
|
||||
local above = pointed_thing.above
|
||||
local pos
|
||||
if minetest.registered_items[minetest.get_node(under).name].buildable_to then
|
||||
pos = under
|
||||
elseif minetest.registered_items[minetest.get_node(above).name].buildable_to then
|
||||
pos = above
|
||||
else
|
||||
pos = pointed_thing.above
|
||||
return itemstack, false
|
||||
end
|
||||
|
||||
if digiline_routing.is_protected(pos, placer) then
|
||||
|
|
|
@ -27,7 +27,8 @@ end
|
|||
|
||||
local function splitter_in_action(pos, node, channel, msg)
|
||||
if digiline_routing.overheat.heat(pos) > OVERLOAD_THRESHOLD then
|
||||
minetest.dig_node(pos)
|
||||
minetest.remove_node(pos)
|
||||
splitter_cleanup(pos, node)
|
||||
minetest.add_item(pos, "digiline_routing:splitter")
|
||||
return
|
||||
end
|
||||
|
@ -40,7 +41,8 @@ local function splitter_out_action(pos, node, channel, msg)
|
|||
local off = minetest.facedir_to_dir(node.param2)
|
||||
local master = vector.subtract(pos, off)
|
||||
if digiline_routing.overheat.heat(master) > OVERLOAD_THRESHOLD then
|
||||
minetest.dig_node(master)
|
||||
minetest.remove_node(master)
|
||||
splitter_cleanup(master, node)
|
||||
minetest.add_item(master, "digiline_routing:splitter")
|
||||
return
|
||||
end
|
||||
|
@ -84,6 +86,7 @@ minetest.register_node("digiline_routing:splitter", {
|
|||
},
|
||||
},
|
||||
})
|
||||
mesecon.register_mvps_stopper("digiline_routing:splitter")
|
||||
|
||||
minetest.register_node("digiline_routing:splitter_b", {
|
||||
description = "<<INTERNAL>> Digiline Splitter (Part B)",
|
||||
|
@ -113,3 +116,4 @@ minetest.register_node("digiline_routing:splitter_b", {
|
|||
},
|
||||
},
|
||||
})
|
||||
mesecon.register_mvps_stopper("digiline_routing:splitter_b")
|
||||
|
|
Loading…
Reference in New Issue