Compare commits

..

No commits in common. "master" and "nalc-1.2.0" have entirely different histories.

3 changed files with 21 additions and 15 deletions

View File

@ -1,2 +0,0 @@
Wuzzy <Wuzzy@disroot.org> <Wuzzy2@mail.ru>
Wuzzy <Wuzzy@disroot.org> <almikes@aol.com>

View File

@ -11,8 +11,7 @@ this mod will place them accordingly.
position should be displayed correctly on every screen size. position should be displayed correctly on every screen size.
## Current version ## Current version
The current version is 2.3.3. The current version is 2.2.2.
It works for Minetest 5.3.0.
This software uses [semantic versioning](http://semver.org), as defined by version 2.0.0 of the SemVer This software uses [semantic versioning](http://semver.org), as defined by version 2.0.0 of the SemVer
standard. standard.

View File

@ -213,8 +213,22 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
z_index = 1, z_index = 1,
}) })
end end
elseif hb.settings.bar_type == "statbar_modern" then
if textures.bgicon ~= nil then
ids.bg = player:hud_add({
hud_elem_type = "statbar",
position = pos,
text = textures.bgicon,
number = bgiconnumber,
alignment = {x=-1,y=-1},
offset = { x = offset.x, y = offset.y },
direction = 0,
size = {x=24, y=24},
z_index = 0,
})
end end
local bar_image, bgicon, bar_size end
local bar_image, bar_size
if hb.settings.bar_type == "progress_bar" then if hb.settings.bar_type == "progress_bar" then
bar_image = textures.bar bar_image = textures.bar
-- NOTE: Intentionally set to nil. For some reason, on some systems, -- NOTE: Intentionally set to nil. For some reason, on some systems,
@ -226,16 +240,13 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
bar_size = nil bar_size = nil
elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then
bar_image = textures.icon bar_image = textures.icon
bgicon = textures.bgicon
bar_size = {x=24, y=24} bar_size = {x=24, y=24}
end end
ids.bar = player:hud_add({ ids.bar = player:hud_add({
hud_elem_type = "statbar", hud_elem_type = "statbar",
position = pos, position = pos,
text = bar_image, text = bar_image,
text2 = bgicon,
number = barnumber, number = barnumber,
item = bgiconnumber,
alignment = {x=-1,y=-1}, alignment = {x=-1,y=-1},
offset = offset, offset = offset,
direction = 0, direction = 0,
@ -404,16 +415,16 @@ function hb.hide_hudbar(player, identifier)
local name = player:get_player_name() local name = player:get_player_name()
local hudtable = hb.get_hudtable(identifier) local hudtable = hb.get_hudtable(identifier)
if hudtable == nil then return false end if hudtable == nil then return false end
if hudtable.hudstate[name].hidden == true then return true end
if hb.settings.bar_type == "progress_bar" then if hb.settings.bar_type == "progress_bar" then
if hudtable.hudids[name].icon ~= nil then if hudtable.hudids[name].icon ~= nil then
player:hud_change(hudtable.hudids[name].icon, "scale", {x=0,y=0}) player:hud_change(hudtable.hudids[name].icon, "scale", {x=0,y=0})
end end
player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0}) player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0})
player:hud_change(hudtable.hudids[name].text, "text", "") player:hud_change(hudtable.hudids[name].text, "text", "")
elseif hb.settings.bar_type == "statbar_modern" then
player:hud_change(hudtable.hudids[name].bg, "number", 0)
end end
player:hud_change(hudtable.hudids[name].bar, "number", 0) player:hud_change(hudtable.hudids[name].bar, "number", 0)
player:hud_change(hudtable.hudids[name].bar, "item", 0)
hudtable.hudstate[name].hidden = true hudtable.hudstate[name].hidden = true
return true return true
end end
@ -423,7 +434,6 @@ function hb.unhide_hudbar(player, identifier)
local name = player:get_player_name() local name = player:get_player_name()
local hudtable = hb.get_hudtable(identifier) local hudtable = hb.get_hudtable(identifier)
if hudtable == nil then return false end if hudtable == nil then return false end
if hudtable.hudstate[name].hidden == false then return true end
local value = hudtable.hudstate[name].value local value = hudtable.hudstate[name].value
local max = hudtable.hudstate[name].max local max = hudtable.hudstate[name].max
if hb.settings.bar_type == "progress_bar" then if hb.settings.bar_type == "progress_bar" then
@ -435,10 +445,9 @@ function hb.unhide_hudbar(player, identifier)
end end
player:hud_change(hudtable.hudids[name].text, "text", make_label(hudtable.format_string, hudtable.format_string_config, hudtable.label, value, max)) player:hud_change(hudtable.hudids[name].text, "text", make_label(hudtable.format_string, hudtable.format_string_config, hudtable.label, value, max))
elseif hb.settings.bar_type == "statbar_modern" then elseif hb.settings.bar_type == "statbar_modern" then
player:hud_change(hudtable.hudids[name].bar, "scale", {x=1,y=1}) player:hud_change(hudtable.hudids[name].bg, "number", hb.settings.statbar_length)
end end
player:hud_change(hudtable.hudids[name].bar, "number", hb.value_to_barlength(value, max)) player:hud_change(hudtable.hudids[name].bar, "number", hb.value_to_barlength(value, max))
player:hud_change(hudtable.hudids[name].bar, "item", hb.value_to_barlength(max, max))
hudtable.hudstate[name].hidden = false hudtable.hudstate[name].hidden = false
return true return true
end end
@ -494,7 +503,7 @@ local function custom_hud(player)
local breath_max = player:get_properties().breath_max local breath_max = player:get_properties().breath_max
local hide_breath local hide_breath
if breath >= breath_max and hb.settings.autohide_breath == true then hide_breath = true else hide_breath = false end if breath >= breath_max and hb.settings.autohide_breath == true then hide_breath = true else hide_breath = false end
hb.init_hudbar(player, "breath", math.min(breath, breath_max), breath_max, hide_breath or hide) hb.init_hudbar(player, "breath", math.min(breath, breath_max-1), breath_max-1, hide_breath or hide)
end end
end end
@ -518,7 +527,7 @@ local function update_hud(player)
hb.hide_hudbar(player, "breath") hb.hide_hudbar(player, "breath")
else else
hb.unhide_hudbar(player, "breath") hb.unhide_hudbar(player, "breath")
hb.change_hudbar(player, "breath", math.min(breath, breath_max), breath_max) hb.change_hudbar(player, "breath", math.min(breath, breath_max-1), breath_max-1)
end end
--health --health
update_health(player) update_health(player)