make the switching station able to send supply and demand via digiline

This commit is contained in:
DS-Minetest 2017-03-23 17:45:37 +01:00
parent 767f5346e9
commit 24f0837772
2 changed files with 37 additions and 4 deletions

View File

@ -2,7 +2,9 @@ default
pipeworks
technic_worldgen
bucket?
mesecons?
mesecons_mvps?
digilines?
intllib?
unified_inventory?
vector_extras?

View File

@ -63,6 +63,23 @@ minetest.register_node("technic:switching_station",{
pos.y = pos.y - 1
minetest.forceload_free_block(pos)
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
},
},
})
--------------------------------------------------
@ -301,6 +318,20 @@ minetest.register_abm({
S("@1. Supply: @2 Demand: @3",
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
meta:set_int("supply",PR_eu_supply)
meta:set_int("demand",RE_eu_demand)