70 lines
2.2 KiB
Lua
70 lines
2.2 KiB
Lua
sparktech.energy_hud = {}
|
|
|
|
local spark_dig_stlye_alt = minetest.settings:get_bool("spark_dig_stlye_alt")
|
|
local on_use = nil
|
|
if spark_dig_stlye_alt then
|
|
on_use = function() return nil end
|
|
end
|
|
|
|
minetest.register_tool("sparkdebug:multimeter", {
|
|
description = "Multimeter",
|
|
inventory_image = "multimeter.png",
|
|
stack_max = 1,
|
|
on_use = on_use,
|
|
on_place = function(itemstack, placer, pointed_thing)
|
|
if pointed_thing["type"] == "node" then
|
|
sparktech.energy_hud[placer:get_player_name()]["pos"] = pointed_thing["under"]
|
|
end
|
|
return itemstack
|
|
end
|
|
})
|
|
|
|
minetest.register_on_joinplayer(function(player)
|
|
local idx = player:hud_add({
|
|
hud_elem_type = "statbar",
|
|
position = {x = 0.5, y = 0.5},
|
|
offset = {x =-100, y = -40},
|
|
text = "bar_red.png",
|
|
direction = 0,
|
|
size = { x=2, y=20 }, -- looks correct with 2, less is invisble, more is too big :/
|
|
number = 20
|
|
})
|
|
local idy = player:hud_add({
|
|
hud_elem_type = "text",
|
|
position = {x = 0.5, y = 0.5},
|
|
offset = {x = 0, y = -50},
|
|
text = "",
|
|
direction = 0,
|
|
number = "0xFFFFFF"
|
|
})
|
|
local idz = player:hud_add({
|
|
hud_elem_type = "text",
|
|
position = {x = 0.5, y = 0.5},
|
|
offset = {x = 0, y = 50},
|
|
text = "",
|
|
direction = 0,
|
|
number = "0xFFFFFF"
|
|
})
|
|
sparktech.energy_hud[player:get_player_name()] = {idb = idx, idt = idy, idm = idz, pos = {x = 0, y = 0, z = 0}}
|
|
end)
|
|
|
|
minetest.register_globalstep(function(dtime)
|
|
for k, i in pairs(sparktech.energy_hud) do
|
|
local meta = minetest.get_meta(i["pos"])
|
|
local node = minetest.get_node(i["pos"])
|
|
local player = minetest.get_player_by_name(k)
|
|
if player == nil then
|
|
return
|
|
end
|
|
|
|
player:hud_change(i["idb"], "number", meta:get_int("energy") / minetest.get_item_group(node.name, "sparktech_energy_max") * 400)
|
|
local val = minetest.get_item_group(node.name, "sparktech_energy_max")
|
|
if val == 0 then
|
|
player:hud_change(i["idt"], "text", "")
|
|
else
|
|
player:hud_change(i["idt"], "text", meta:get_int("energy") .. " / " .. val)
|
|
end
|
|
player:hud_change(i["idm"], "text", meta:get_string("net_master"))
|
|
end
|
|
end)
|