send on run if mesecon signal and input

This commit is contained in:
DS-Minetest 2017-03-29 16:46:13 +02:00
parent 598a5ba6b6
commit e4d6eb1a7d

View File

@ -103,6 +103,24 @@ function technic.register_battery_box(data)
end
local max_charge = data.max_charge * (1 + EU_upgrade / 10)
-- send digiline information
if mesecon and digilines and mesecon.is_powered(pos) then
if eu_input ~= 0 then
local inv = meta:get_inventory()
digilines.receptor_send(pos, digilines.rules.default, meta:get_string("channel"), {
demand = meta:get_int(tier.."_EU_demand"),
supply = meta:get_int(tier.."_EU_supply"),
input = eu_input,
charge = current_charge,
max_charge = max_charge,
src = inv:get_stack("src", 1):to_table(),
dst = inv:get_stack("dst", 1):to_table(),
upgrade1 = inv:get_stack("upgrade1", 1):to_table(),
upgrade2 = inv:get_stack("upgrade2", 1):to_table()
})
end
end
-- Charge/discharge the battery with the input EUs
if eu_input >= 0 then
current_charge = math.min(current_charge + eu_input, max_charge)
@ -245,7 +263,7 @@ function technic.register_battery_box(data)
supply = meta:get_int(tier.."_EU_supply"),
input = meta:get_int(tier.."_EU_input"),
charge = meta:get_int("internal_EU_charge"),
max_charge = max_charge,
max_charge = data.max_charge * (1 + technic.handle_machine_upgrades(meta) / 10),
src = inv:get_stack("src", 1):to_table(),
dst = inv:get_stack("dst", 1):to_table(),
upgrade1 = inv:get_stack("upgrade1", 1):to_table(),