mirror of
https://github.com/minetest-mods/technic.git
synced 2025-03-20 11:20:31 +01:00
make the switching station able to send supply and demand via digiline
This commit is contained in:
parent
767f5346e9
commit
24f0837772
@ -2,7 +2,9 @@ default
|
|||||||
pipeworks
|
pipeworks
|
||||||
technic_worldgen
|
technic_worldgen
|
||||||
bucket?
|
bucket?
|
||||||
|
mesecons?
|
||||||
mesecons_mvps?
|
mesecons_mvps?
|
||||||
|
digilines?
|
||||||
intllib?
|
intllib?
|
||||||
unified_inventory?
|
unified_inventory?
|
||||||
vector_extras?
|
vector_extras?
|
||||||
|
@ -63,6 +63,23 @@ minetest.register_node("technic:switching_station",{
|
|||||||
pos.y = pos.y - 1
|
pos.y = pos.y - 1
|
||||||
minetest.forceload_free_block(pos)
|
minetest.forceload_free_block(pos)
|
||||||
end,
|
end,
|
||||||
|
mesecons = {effector = {
|
||||||
|
rules = mesecon.rules.default,
|
||||||
|
}},
|
||||||
|
digiline = {
|
||||||
|
receptor = {action = function() end},
|
||||||
|
effector = {
|
||||||
|
action = function(pos, node, channel, msg)
|
||||||
|
if msg == "GET" or msg == "get" then
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
digilines.receptor_send(pos, digilines.rules.default, channel, {
|
||||||
|
supply = meta:get_int("supply"),
|
||||||
|
demand = meta:get_int("demand")
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
@ -190,7 +207,7 @@ minetest.register_abm({
|
|||||||
local BA_nodes
|
local BA_nodes
|
||||||
local RE_nodes
|
local RE_nodes
|
||||||
local machine_name = S("Switching Station")
|
local machine_name = S("Switching Station")
|
||||||
|
|
||||||
-- Which kind of network are we on:
|
-- Which kind of network are we on:
|
||||||
pos1 = {x=pos.x, y=pos.y-1, z=pos.z}
|
pos1 = {x=pos.x, y=pos.y-1, z=pos.z}
|
||||||
|
|
||||||
@ -216,7 +233,7 @@ minetest.register_abm({
|
|||||||
minetest.forceload_free_block(pos1)
|
minetest.forceload_free_block(pos1)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Run all the nodes
|
-- Run all the nodes
|
||||||
local function run_nodes(list, run_stage)
|
local function run_nodes(list, run_stage)
|
||||||
for _, pos2 in ipairs(list) do
|
for _, pos2 in ipairs(list) do
|
||||||
@ -231,7 +248,7 @@ minetest.register_abm({
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
run_nodes(PR_nodes, technic.producer)
|
run_nodes(PR_nodes, technic.producer)
|
||||||
run_nodes(RE_nodes, technic.receiver)
|
run_nodes(RE_nodes, technic.receiver)
|
||||||
run_nodes(BA_nodes, technic.battery)
|
run_nodes(BA_nodes, technic.battery)
|
||||||
@ -301,6 +318,20 @@ minetest.register_abm({
|
|||||||
S("@1. Supply: @2 Demand: @3",
|
S("@1. Supply: @2 Demand: @3",
|
||||||
machine_name, technic.pretty_num(PR_eu_supply), technic.pretty_num(RE_eu_demand)))
|
machine_name, technic.pretty_num(PR_eu_supply), technic.pretty_num(RE_eu_demand)))
|
||||||
|
|
||||||
|
-- digiline
|
||||||
|
if minetest.get_modpath("mesecons") and
|
||||||
|
minetest.get_modpath("digilines") and
|
||||||
|
mesecon.is_powered(pos) then
|
||||||
|
if PR_eu_supply ~= meta:get_int("supply") or
|
||||||
|
RE_eu_demand ~= meta:get_int("demand") then
|
||||||
|
digilines.receptor_send(pos, digilines.rules.default,
|
||||||
|
"switching_station"..minetest.pos_to_string(pos), {
|
||||||
|
supply = PR_eu_supply,
|
||||||
|
demand = RE_eu_demand
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Data that will be used by the power monitor
|
-- Data that will be used by the power monitor
|
||||||
meta:set_int("supply",PR_eu_supply)
|
meta:set_int("supply",PR_eu_supply)
|
||||||
meta:set_int("demand",RE_eu_demand)
|
meta:set_int("demand",RE_eu_demand)
|
||||||
@ -366,7 +397,7 @@ minetest.register_abm({
|
|||||||
meta1 = minetest.get_meta(pos1)
|
meta1 = minetest.get_meta(pos1)
|
||||||
meta1:set_int(eu_input_str, 0)
|
meta1:set_int(eu_input_str, 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user