mirror of
https://repo.or.cz/minetest_hudbars.git
synced 2025-06-28 22:46:06 +02:00
Compare commits
31 Commits
Author | SHA1 | Date | |
---|---|---|---|
6e2173c6e3 | |||
dd2a9a008d | |||
a7d0774ad0 | |||
812b2538ff | |||
906f7876f7 | |||
a44de6230b | |||
26a36dde55 | |||
0684bac45b | |||
183d727635 | |||
f1001432eb | |||
a41453964a | |||
5d65623d90 | |||
f6d539249e | |||
746945dd0f | |||
37eff8b2d2 | |||
844fff43de | |||
28dcf8af65 | |||
a250d2a350 | |||
7993feac07 | |||
b19b5f090a | |||
9a8a3f0f8c | |||
2eb2df946b | |||
c4ddef312e | |||
2ffcd94dd6 | |||
8d3fa950f8 | |||
332aa18452 | |||
7f6ed309b3 | |||
99ebd71da7 | |||
699e356609 | |||
7cd5940c68 | |||
67ca481f7c |
2
.mailmap
Normal file
2
.mailmap
Normal file
@ -0,0 +1,2 @@
|
||||
Wuzzy <Wuzzy@disroot.org> <Wuzzy2@mail.ru>
|
||||
Wuzzy <Wuzzy@disroot.org> <almikes@aol.com>
|
@ -11,7 +11,8 @@ this mod will place them accordingly.
|
||||
position should be displayed correctly on every screen size.
|
||||
|
||||
## Current version
|
||||
The current version is 2.1.0.
|
||||
The current version is 2.3.3.
|
||||
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
|
||||
standard.
|
||||
@ -38,6 +39,8 @@ Translations:
|
||||
* Dutch: kingoscargames
|
||||
* Italian: Hamlet
|
||||
* Malay: muhdnurhidayat
|
||||
* Russian: Imk
|
||||
* Spanish: wuniversales
|
||||
|
||||
This program is free software. It comes without any warranty, to
|
||||
the extent permitted by applicable law. You can redistribute it
|
||||
|
39
init.lua
39
init.lua
@ -200,6 +200,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
|
||||
text = "hudbars_bar_background.png",
|
||||
alignment = {x=1,y=1},
|
||||
offset = { x = offset.x - 1, y = offset.y - 1 },
|
||||
z_index = 0,
|
||||
})
|
||||
if textures.icon ~= nil then
|
||||
ids.icon = player:hud_add({
|
||||
@ -209,23 +210,11 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
|
||||
text = textures.icon,
|
||||
alignment = {x=-1,y=1},
|
||||
offset = { x = offset.x - 3, y = offset.y },
|
||||
})
|
||||
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 = 1,
|
||||
})
|
||||
end
|
||||
end
|
||||
local bar_image, bar_size
|
||||
local bar_image, bgicon, bar_size
|
||||
if hb.settings.bar_type == "progress_bar" then
|
||||
bar_image = textures.bar
|
||||
-- NOTE: Intentionally set to nil. For some reason, on some systems,
|
||||
@ -237,17 +226,21 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
|
||||
bar_size = nil
|
||||
elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then
|
||||
bar_image = textures.icon
|
||||
bgicon = textures.bgicon
|
||||
bar_size = {x=24, y=24}
|
||||
end
|
||||
ids.bar = player:hud_add({
|
||||
hud_elem_type = "statbar",
|
||||
position = pos,
|
||||
text = bar_image,
|
||||
text2 = bgicon,
|
||||
number = barnumber,
|
||||
item = bgiconnumber,
|
||||
alignment = {x=-1,y=-1},
|
||||
offset = offset,
|
||||
direction = 0,
|
||||
size = bar_size,
|
||||
z_index = 1,
|
||||
})
|
||||
if hb.settings.bar_type == "progress_bar" then
|
||||
ids.text = player:hud_add({
|
||||
@ -258,6 +251,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
|
||||
number = text_color,
|
||||
direction = 0,
|
||||
offset = { x = offset.x + 2, y = offset.y - 1},
|
||||
z_index = 2,
|
||||
})
|
||||
end
|
||||
-- Do not forget to update hb.get_hudbar_state if you add new fields to the state table
|
||||
@ -316,6 +310,9 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon
|
||||
|
||||
local name = player:get_player_name()
|
||||
local hudtable = hb.get_hudtable(identifier)
|
||||
if not hudtable.hudstate[name] then
|
||||
return false
|
||||
end
|
||||
local value_changed, max_changed = false, false
|
||||
|
||||
if new_value ~= nil then
|
||||
@ -407,16 +404,16 @@ function hb.hide_hudbar(player, identifier)
|
||||
local name = player:get_player_name()
|
||||
local hudtable = hb.get_hudtable(identifier)
|
||||
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 hudtable.hudids[name].icon ~= nil then
|
||||
player:hud_change(hudtable.hudids[name].icon, "scale", {x=0,y=0})
|
||||
end
|
||||
player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0})
|
||||
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
|
||||
player:hud_change(hudtable.hudids[name].bar, "number", 0)
|
||||
player:hud_change(hudtable.hudids[name].bar, "item", 0)
|
||||
hudtable.hudstate[name].hidden = true
|
||||
return true
|
||||
end
|
||||
@ -426,6 +423,7 @@ function hb.unhide_hudbar(player, identifier)
|
||||
local name = player:get_player_name()
|
||||
local hudtable = hb.get_hudtable(identifier)
|
||||
if hudtable == nil then return false end
|
||||
if hudtable.hudstate[name].hidden == false then return true end
|
||||
local value = hudtable.hudstate[name].value
|
||||
local max = hudtable.hudstate[name].max
|
||||
if hb.settings.bar_type == "progress_bar" then
|
||||
@ -437,9 +435,10 @@ function hb.unhide_hudbar(player, identifier)
|
||||
end
|
||||
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
|
||||
player:hud_change(hudtable.hudids[name].bg, "number", hb.settings.statbar_length)
|
||||
player:hud_change(hudtable.hudids[name].bar, "scale", {x=1,y=1})
|
||||
end
|
||||
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
|
||||
return true
|
||||
end
|
||||
@ -495,7 +494,7 @@ local function custom_hud(player)
|
||||
local breath_max = player:get_properties().breath_max
|
||||
local hide_breath
|
||||
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-1), breath_max-1, hide_breath or hide)
|
||||
hb.init_hudbar(player, "breath", math.min(breath, breath_max), breath_max, hide_breath or hide)
|
||||
end
|
||||
end
|
||||
|
||||
@ -519,7 +518,7 @@ local function update_hud(player)
|
||||
hb.hide_hudbar(player, "breath")
|
||||
else
|
||||
hb.unhide_hudbar(player, "breath")
|
||||
hb.change_hudbar(player, "breath", math.min(breath, breath_max-1), breath_max-1)
|
||||
hb.change_hudbar(player, "breath", math.min(breath, breath_max), breath_max)
|
||||
end
|
||||
--health
|
||||
update_health(player)
|
||||
@ -567,3 +566,5 @@ minetest.register_globalstep(function(dtime)
|
||||
end
|
||||
if timer > 4 then timer = 0 end
|
||||
end)
|
||||
|
||||
minetest.log("action", "[hudbars] loaded.")
|
||||
|
4
locale/hudbars.es.tr
Normal file
4
locale/hudbars.es.tr
Normal file
@ -0,0 +1,4 @@
|
||||
# textdomain: hudbars
|
||||
Health=Salud
|
||||
Breath=Aliento
|
||||
@1: @2/@3=@1: @2/@3
|
4
locale/hudbars.ru.tr
Normal file
4
locale/hudbars.ru.tr
Normal file
@ -0,0 +1,4 @@
|
||||
# textdomain: hudbars
|
||||
Health=HP
|
||||
Breath=дыхание
|
||||
@1: @2/@3=@1: @2/@3
|
Reference in New Issue
Block a user