mirror of
https://github.com/minetest-mods/technic.git
synced 2025-07-03 08:40:36 +02:00
Show EU power values more readable (#424)
Add the EU_string helper function In comparison to pretty_num it uses SI prefixes, adds "EU" (e.g. kEU) and rounds the number for readability Add a constant_digit_count boolean setting
This commit is contained in:
@ -35,7 +35,8 @@ local run = function(pos, node)
|
||||
local charge_to_give = math.floor((light + pos1.y) * 3)
|
||||
charge_to_give = math.max(charge_to_give, 0)
|
||||
charge_to_give = math.min(charge_to_give, 200)
|
||||
meta:set_string("infotext", S("@1 Active (@2 EU)", machine_name, technic.pretty_num(charge_to_give)))
|
||||
meta:set_string("infotext", S("@1 Active (@2)", machine_name,
|
||||
technic.EU_string(charge_to_give)))
|
||||
meta:set_int("LV_EU_supply", charge_to_give)
|
||||
else
|
||||
meta:set_string("infotext", S("%s Idle"):format(machine_name))
|
||||
@ -54,7 +55,7 @@ minetest.register_node("technic:solar_panel", {
|
||||
active = false,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
is_ground_content = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
||||
|
@ -60,7 +60,8 @@ local run = function(pos, node)
|
||||
elseif check == true then
|
||||
local power = math.min(pos.y * 100, 5000)
|
||||
meta:set_int("MV_EU_supply", power)
|
||||
meta:set_string("infotext", S("@1 (@2 EU)", machine_name, technic.pretty_num(power)))
|
||||
meta:set_string("infotext", S("@1 (@2)", machine_name,
|
||||
technic.EU_string(power)))
|
||||
end
|
||||
-- check == nil: assume nothing has changed
|
||||
end
|
||||
|
@ -55,7 +55,7 @@ minetest.register_abm({
|
||||
local demand = sw_meta:get_int("demand")
|
||||
meta:set_string("infotext",
|
||||
S("Power Monitor. Supply: @1 Demand: @2",
|
||||
technic.pretty_num(supply), technic.pretty_num(demand)))
|
||||
technic.EU_string(supply), technic.EU_string(demand)))
|
||||
else
|
||||
meta:set_string("infotext",S("Power Monitor Has No Network"))
|
||||
end
|
||||
|
@ -255,8 +255,9 @@ function technic.register_battery_box(data)
|
||||
|
||||
local charge_percent = math.floor(current_charge / max_charge * 100)
|
||||
meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, charge_percent))
|
||||
local infotext = S("@1 Battery Box: @2/@3", tier,
|
||||
technic.pretty_num(current_charge), technic.pretty_num(max_charge))
|
||||
local infotext = S("@1 Battery Box: @2 / @3", tier,
|
||||
technic.EU_string(current_charge),
|
||||
technic.EU_string(max_charge))
|
||||
if eu_input == 0 then
|
||||
infotext = S("%s Idle"):format(infotext)
|
||||
end
|
||||
|
@ -30,14 +30,15 @@ function technic.register_solar_array(data)
|
||||
local charge_to_give = math.floor((light + pos.y) * data.power)
|
||||
charge_to_give = math.max(charge_to_give, 0)
|
||||
charge_to_give = math.min(charge_to_give, data.power * 50)
|
||||
meta:set_string("infotext", S("@1 Active (@2 EU)", machine_name, technic.pretty_num(charge_to_give)))
|
||||
meta:set_string("infotext", S("@1 Active (@2)", machine_name,
|
||||
technic.EU_string(charge_to_give)))
|
||||
meta:set_int(tier.."_EU_supply", charge_to_give)
|
||||
else
|
||||
meta:set_string("infotext", S("%s Idle"):format(machine_name))
|
||||
meta:set_int(tier.."_EU_supply", 0)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
minetest.register_node("technic:solar_array_"..ltier, {
|
||||
tiles = {"technic_"..ltier.."_solar_array_top.png", "technic_"..ltier.."_solar_array_bottom.png",
|
||||
"technic_"..ltier.."_solar_array_side.png", "technic_"..ltier.."_solar_array_side.png",
|
||||
|
@ -149,7 +149,9 @@ local run = function(pos, node, run_stage)
|
||||
meta:set_int(from.."_EU_supply", 0)
|
||||
meta:set_int(to.."_EU_demand", 0)
|
||||
meta:set_int(to.."_EU_supply", input * remain)
|
||||
meta:set_string("infotext", S("@1 (@2 @3 -> @4 @5)", machine_name, technic.pretty_num(input), from, technic.pretty_num(input * remain), to))
|
||||
meta:set_string("infotext", S("@1 (@2 @3 -> @4 @5)", machine_name,
|
||||
technic.EU_string(input), from,
|
||||
technic.EU_string(input * remain), to))
|
||||
else
|
||||
meta:set_string("infotext", S("%s Has Bad Cabling"):format(machine_name))
|
||||
if to then
|
||||
|
@ -361,9 +361,9 @@ minetest.register_abm({
|
||||
end
|
||||
--dprint("Total BA demand:"..BA_eu_demand)
|
||||
|
||||
meta:set_string("infotext",
|
||||
S("@1. Supply: @2 Demand: @3",
|
||||
machine_name, technic.pretty_num(PR_eu_supply), technic.pretty_num(RE_eu_demand)))
|
||||
meta:set_string("infotext", S("@1. Supply: @2 Demand: @3",
|
||||
machine_name, technic.EU_string(PR_eu_supply),
|
||||
technic.EU_string(RE_eu_demand)))
|
||||
|
||||
-- If mesecon signal and power supply or demand changed then
|
||||
-- send them via digilines.
|
||||
|
Reference in New Issue
Block a user