This repository has been archived on 2020-05-24. You can view files and clone it, but cannot push or open issues or pull requests.
minetest-mod-sparktech/sparkcore/lua/hud.lua

45 lines
1.2 KiB
Lua

sparktech.tool_energy_hud = {}
minetest.register_on_joinplayer(function(player)
local idx = player:hud_add({
hud_elem_type = "statbar",
position = {x = 0.85, y = 0.95},
offset = {x =-100, y = -40},
text = "bar_red.png",
direction = 0,
number = 20,
size = { x=2, y=20 }
})
local idy = player:hud_add({
hud_elem_type = "text",
position = {x = 0.85, y = 0.95},
offset = {x = 0, y = -50},
text = "",
direction = 0,
number = "0xFFFFFF"
})
sparktech.tool_energy_hud[player:get_player_name()] = {idb = idx, idt = idy}
end)
minetest.register_globalstep(function(dtime)
for k, i in pairs(sparktech.tool_energy_hud) do
local player = minetest.get_player_by_name(k)
if player == nil then
sparktech.tool_energy_hud[k] = nil
return
end
local item = player:get_wielded_item()
local energy = tonumber(item:get_metadata())
local energymax = minetest.get_item_group(item:get_name(), "sparktech_energy_max")
if energy == nil then
energy = 0
end
player:hud_change(i["idb"], "number", energy / energymax * 400)
if energymax == 0 then
player:hud_change(i["idt"], "text", "")
else
player:hud_change(i["idt"], "text", energy .. " / " .. energymax)
end
end
end)