1
0
mirror of https://repo.or.cz/minetest_hudbars.git synced 2025-06-29 06:50:28 +02:00

12 Commits
2.0.0 ... 2.2.2

Author SHA1 Message Date
7993feac07 Version 2.2.2 2020-03-13 18:11:13 +01:00
b19b5f090a Fix another crash 2020-03-13 18:10:52 +01:00
9a8a3f0f8c Version 2.2.1 2020-03-13 07:55:01 +01:00
2eb2df946b Add nil check in hb.change_hudbar 2020-03-13 07:53:24 +01:00
2ffcd94dd6 Version 2.2.0 2020-02-04 22:11:43 +01:00
8d3fa950f8 Update translation credits 2020-02-04 22:10:41 +01:00
332aa18452 Add Spanish translation 2020-02-04 22:07:34 +01:00
99ebd71da7 Update credits 2019-09-17 11:21:19 +02:00
699e356609 Add Russian locale by lmk 2019-09-17 11:20:12 +02:00
8c80745ecb Version 2.1.0 2019-09-13 19:57:04 +02:00
1e3def3cfa Set bar_size to nil in progress_bar again
See the lengthy comment to learn why
2019-09-13 19:56:22 +02:00
48d9fd6a12 Allow to specify number format strings explicitly
Also, the default number format string is now "%d"
2019-09-13 19:50:23 +02:00
5 changed files with 43 additions and 5 deletions

2
API.md
View File

@ -70,6 +70,8 @@ for more information.
* `format_string_config`: Required if `format_string` is set. This allows to change which parameters to use in the format string. It's a table with these fields: * `format_string_config`: Required if `format_string` is set. This allows to change which parameters to use in the format string. It's a table with these fields:
* `textdomain`: Text domain of the format string, used by `minetest.translate` * `textdomain`: Text domain of the format string, used by `minetest.translate`
* `order`: Table that contains the order of the placeholders. It's also possible to remove placeholders. Default order: `{ "label", "value", "max_value" }` * `order`: Table that contains the order of the placeholders. It's also possible to remove placeholders. Default order: `{ "label", "value", "max_value" }`
* `format_value`: Format string to apply when displaying `value`. Syntax is same as in `string.format`. Default: `"%d"`
* `format_max_value`: Same as `format_value` but is applied to `max_value`
#### Example #### Example
Example (mostly) from `hbarmor` mod: Example (mostly) from `hbarmor` mod:

View File

@ -11,7 +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.0.0. The current version is 2.2.2.
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.
@ -38,6 +38,8 @@ Translations:
* Dutch: kingoscargames * Dutch: kingoscargames
* Italian: Hamlet * Italian: Hamlet
* Malay: muhdnurhidayat * Malay: muhdnurhidayat
* Russian: Imk
* Spanish: wuniversales
This program is free software. It comes without any warranty, to This program is free software. It comes without any warranty, to
the extent permitted by applicable law. You can redistribute it the extent permitted by applicable law. You can redistribute it

View File

@ -58,9 +58,17 @@ local function make_label(format_string, format_string_config, label, start_valu
if order[o] == "label" then if order[o] == "label" then
table.insert(params, label) table.insert(params, label)
elseif order[o] == "value" then elseif order[o] == "value" then
table.insert(params, start_value) if format_string_config.format_value then
table.insert(params, string.format(format_string_config.format_value, start_value))
else
table.insert(params, start_value)
end
elseif order[o] == "max_value" then elseif order[o] == "max_value" then
table.insert(params, max_value) if format_string_config.format_max_value then
table.insert(params, string.format(format_string_config.format_max_value, max_value))
else
table.insert(params, max_value)
end
end end
end end
local ret local ret
@ -148,7 +156,16 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
format_string = N("@1: @2/@3") format_string = N("@1: @2/@3")
end end
if format_string_config == nil then if format_string_config == nil then
format_string_config = { order = { "label", "value", "max_value" } } format_string_config = {}
end
if format_string_config.order == nil then
format_string_config.order = { "label", "value", "max_value" }
end
if format_string_config.format_value == nil then
format_string_config.format_value = "%d"
end
if format_string_config.format_max_value == nil then
format_string_config.format_max_value = "%d"
end end
hudtable.add_all = function(player, hudtable, start_value, start_max, start_hidden) hudtable.add_all = function(player, hudtable, start_value, start_max, start_hidden)
@ -211,7 +228,13 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
local bar_image, bar_size 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
bar_size = {x=2, y=16} -- NOTE: Intentionally set to nil. For some reason, on some systems,
-- the progress bar is displaced when the bar_size is set explicitly here.
-- On the other hand, setting this to nil is deprecated in MT 5.0.0 due to
-- a debug log warning, but nothing is explained in lua_api.txt.
-- This section is a potential bug magnet, please watch with care!
-- The size of the bar image is expected to be exactly 2×16 pixels.
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
bar_size = {x=24, y=24} bar_size = {x=24, y=24}
@ -293,6 +316,9 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon
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 not hudtable.hudstate[name] then
return false
end
local value_changed, max_changed = false, false local value_changed, max_changed = false, false
if new_value ~= nil then if new_value ~= nil then

4
locale/hudbars.es.tr Normal file
View File

@ -0,0 +1,4 @@
# textdomain: hudbars
Health=Salud
Breath=Aliento
@1: @2/@3=@1: @2/@3

4
locale/hudbars.ru.tr Normal file
View File

@ -0,0 +1,4 @@
# textdomain: hudbars
Health=HP
Breath=дыхание
@1: @2/@3=@1: @2/@3