From c0a515715bd1eb72ff063bb3a7a90ed59a286f9e Mon Sep 17 00:00:00 2001 From: vlapsley Date: Thu, 17 Aug 2017 21:23:56 +1000 Subject: [PATCH] Update hudbars mod --- mods/{ => HUD}/hudbars/API.md | 9 +- mods/{ => HUD}/hudbars/README.md | 3 +- mods/{ => HUD}/hudbars/changelog.txt | 0 mods/HUD/hudbars/default_settings.lua | 48 +++++++++++ mods/{ => HUD}/hudbars/depends.txt | 0 mods/{ => HUD}/hudbars/description.txt | 0 mods/{ => HUD}/hudbars/init.lua | 81 ++++++------------ mods/{ => HUD}/hudbars/locale/de.txt | 0 mods/{ => HUD}/hudbars/locale/pt.txt | 0 mods/{ => HUD}/hudbars/locale/template.txt | 0 mods/HUD/hudbars/locale/tr.txt | 3 + mods/{ => HUD}/hudbars/mod.conf | 0 mods/{ => HUD}/hudbars/screenshot.png | Bin mods/{ => HUD}/hudbars/settingtypes.txt | 0 .../textures/hudbars_bar_background.png | Bin .../hudbars/textures/hudbars_bar_breath.png | Bin .../hudbars/textures/hudbars_bar_health.png | Bin .../textures/hudbars_bgicon_breath.png | Bin .../textures/hudbars_bgicon_health.png | Bin .../hudbars/textures/hudbars_icon_breath.png | Bin .../hudbars/textures/hudbars_icon_health.png | Bin mods/HUD/modpack.txt | 0 22 files changed, 83 insertions(+), 61 deletions(-) rename mods/{ => HUD}/hudbars/API.md (97%) rename mods/{ => HUD}/hudbars/README.md (97%) rename mods/{ => HUD}/hudbars/changelog.txt (100%) create mode 100644 mods/HUD/hudbars/default_settings.lua rename mods/{ => HUD}/hudbars/depends.txt (100%) rename mods/{ => HUD}/hudbars/description.txt (100%) rename mods/{ => HUD}/hudbars/init.lua (83%) rename mods/{ => HUD}/hudbars/locale/de.txt (100%) rename mods/{ => HUD}/hudbars/locale/pt.txt (100%) rename mods/{ => HUD}/hudbars/locale/template.txt (100%) create mode 100644 mods/HUD/hudbars/locale/tr.txt rename mods/{ => HUD}/hudbars/mod.conf (100%) rename mods/{ => HUD}/hudbars/screenshot.png (100%) rename mods/{ => HUD}/hudbars/settingtypes.txt (100%) rename mods/{ => HUD}/hudbars/textures/hudbars_bar_background.png (100%) rename mods/{ => HUD}/hudbars/textures/hudbars_bar_breath.png (100%) rename mods/{ => HUD}/hudbars/textures/hudbars_bar_health.png (100%) rename mods/{ => HUD}/hudbars/textures/hudbars_bgicon_breath.png (100%) rename mods/{ => HUD}/hudbars/textures/hudbars_bgicon_health.png (100%) rename mods/{ => HUD}/hudbars/textures/hudbars_icon_breath.png (100%) rename mods/{ => HUD}/hudbars/textures/hudbars_icon_health.png (100%) create mode 100644 mods/HUD/modpack.txt diff --git a/mods/hudbars/API.md b/mods/HUD/hudbars/API.md similarity index 97% rename from mods/hudbars/API.md rename to mods/HUD/hudbars/API.md index 124da82..a53344c 100644 --- a/mods/hudbars/API.md +++ b/mods/HUD/hudbars/API.md @@ -1,5 +1,5 @@ -API documentation for the HUD bars mod 1.7.0 -============================================ +API documentation for the HUD bars mod +====================================== ## Introduction This API allows you to add, change, hide and unhide custom HUD bars for this mod. @@ -170,7 +170,7 @@ Makes a previously hidden HUD bar visible again to a player. ## Reading HUD bar information -It is also possible to read information about an active HUD bar. +It is also possible to read information about existing HUD bars. ### `hb.get_hudbar_state(player, identifier)` Returns the current state of the active player's HUD bar. @@ -191,3 +191,6 @@ hold by the table is only true for the moment you called this function. The fiel * `text`: The text shown on the HUD bar. This fiels is meaningless if the HUD bar is currently hidden. If the player does not exist, returns `nil` instead. + +### `hb.get_hudbar_identifiers()` +Returns a table of all currently registered HUD bar identifiers. diff --git a/mods/hudbars/README.md b/mods/HUD/hudbars/README.md similarity index 97% rename from mods/hudbars/README.md rename to mods/HUD/hudbars/README.md index 6571b77..4f72340 100644 --- a/mods/hudbars/README.md +++ b/mods/HUD/hudbars/README.md @@ -11,7 +11,7 @@ this mod will place them accordingly. position should be displayed correctly on every screen size. ## Current version -The current version is 1.7.0. +The current version is 1.9.0. This software uses [semantic versioning](http://semver.org), as defined by version 2.0.0 of the SemVer standard. @@ -34,6 +34,7 @@ Translations: * German: Wuzzy * Portuguese: BrunoMine +* Turkish: admicos This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it diff --git a/mods/hudbars/changelog.txt b/mods/HUD/hudbars/changelog.txt similarity index 100% rename from mods/hudbars/changelog.txt rename to mods/HUD/hudbars/changelog.txt diff --git a/mods/HUD/hudbars/default_settings.lua b/mods/HUD/hudbars/default_settings.lua new file mode 100644 index 0000000..d2a325b --- /dev/null +++ b/mods/HUD/hudbars/default_settings.lua @@ -0,0 +1,48 @@ +-- (Hardcoded) default settings + +hb.settings.max_bar_length = 160 +hb.settings.statbar_length = 20 + +-- Statbar positions +hb.settings.pos_left = {} +hb.settings.pos_right = {} +hb.settings.start_offset_left = {} +hb.settings.start_offset_right= {} +hb.settings.pos_left.x = hb.load_setting("hudbars_pos_left_x", "number", 0.5) +hb.settings.pos_left.y = hb.load_setting("hudbars_pos_left_y", "number", 1) +hb.settings.pos_right.x = hb.load_setting("hudbars_pos_right_x", "number", 0.5) +hb.settings.pos_right.y = hb.load_setting("hudbars_pos_right_y", "number", 1) +hb.settings.bar_type = hb.load_setting("hudbars_bar_type", "string", "progress_bar", {"progress_bar", "statbar_classic", "statbar_modern"}) +if hb.settings.bar_type == "progress_bar" then + hb.settings.start_offset_left.x = hb.load_setting("hudbars_start_offset_left_x", "number", -175) + hb.settings.start_offset_left.y = hb.load_setting("hudbars_start_offset_left_y", "number", -86) + hb.settings.start_offset_right.x = hb.load_setting("hudbars_start_offset_right_x", "number", 15) + hb.settings.start_offset_right.y = hb.load_setting("hudbars_start_offset_right_y", "number", -86) +else + hb.settings.start_offset_left.x = hb.load_setting("hudbars_start_statbar_offset_left_x", "number", -265) + hb.settings.start_offset_left.y = hb.load_setting("hudbars_start_statbar_offset_left_y", "number", -90) + hb.settings.start_offset_right.x = hb.load_setting("hudbars_start_statbar_offset_right_x", "number", 25) + hb.settings.start_offset_right.y = hb.load_setting("hudbars_start_statbar_offset_right_y", "number", -90) +end +hb.settings.vmargin = hb.load_setting("hudbars_vmargin", "number", 24) +hb.settings.tick = hb.load_setting("hudbars_tick", "number", 0.1) + +-- Experimental setting: Changing this setting is not officially supported, do NOT rely on it! +hb.settings.forceload_default_hudbars = hb.load_setting("hudbars_forceload_default_hudbars", "bool", true) + +-- Misc. settings +hb.settings.alignment_pattern = hb.load_setting("hudbars_alignment_pattern", "string", "zigzag", {"zigzag", "stack_up", "stack_down"}) +hb.settings.autohide_breath = hb.load_setting("hudbars_autohide_breath", "bool", true) + +local sorting = minetest.settings:get("hudbars_sorting") +if sorting ~= nil then + hb.settings.sorting = {} + hb.settings.sorting_reverse = {} + for k,v in string.gmatch(sorting, "(%w+)=(%w+)") do + hb.settings.sorting[k] = tonumber(v) + hb.settings.sorting_reverse[tonumber(v)] = k + end +else + hb.settings.sorting = { ["health"] = 0, ["breath"] = 1 } + hb.settings.sorting_reverse = { [0] = "health", [1] = "breath" } +end diff --git a/mods/hudbars/depends.txt b/mods/HUD/hudbars/depends.txt similarity index 100% rename from mods/hudbars/depends.txt rename to mods/HUD/hudbars/depends.txt diff --git a/mods/hudbars/description.txt b/mods/HUD/hudbars/description.txt similarity index 100% rename from mods/hudbars/description.txt rename to mods/HUD/hudbars/description.txt diff --git a/mods/hudbars/init.lua b/mods/HUD/hudbars/init.lua similarity index 83% rename from mods/hudbars/init.lua rename to mods/HUD/hudbars/init.lua index 6bcc624..4e9294b 100644 --- a/mods/hudbars/init.lua +++ b/mods/HUD/hudbars/init.lua @@ -20,11 +20,11 @@ hb.settings = {} function hb.load_setting(sname, stype, defaultval, valid_values) local sval if stype == "string" then - sval = minetest.setting_get(sname) + sval = minetest.settings:get(sname) elseif stype == "bool" then - sval = minetest.setting_getbool(sname) + sval = minetest.settings:get_bool(sname) elseif stype == "number" then - sval = tonumber(minetest.setting_get(sname)) + sval = tonumber(minetest.settings:get(sname)) end if sval ~= nil then if valid_values ~= nil then @@ -48,53 +48,8 @@ function hb.load_setting(sname, stype, defaultval, valid_values) end end --- (hardcoded) default settings -hb.settings.max_bar_length = 160 -hb.settings.statbar_length = 20 - --- statbar positions -hb.settings.pos_left = {} -hb.settings.pos_right = {} -hb.settings.start_offset_left = {} -hb.settings.start_offset_right= {} -hb.settings.pos_left.x = hb.load_setting("hudbars_pos_left_x", "number", 0.5) -hb.settings.pos_left.y = hb.load_setting("hudbars_pos_left_y", "number", 1) -hb.settings.pos_right.x = hb.load_setting("hudbars_pos_right_x", "number", 0.5) -hb.settings.pos_right.y = hb.load_setting("hudbars_pos_right_y", "number", 1) -hb.settings.bar_type = hb.load_setting("hudbars_bar_type", "string", "progress_bar", {"progress_bar", "statbar_classic", "statbar_modern"}) -if hb.settings.bar_type == "progress_bar" then - hb.settings.start_offset_left.x = hb.load_setting("hudbars_start_offset_left_x", "number", -175) - hb.settings.start_offset_left.y = hb.load_setting("hudbars_start_offset_left_y", "number", -86) - hb.settings.start_offset_right.x = hb.load_setting("hudbars_start_offset_right_x", "number", 15) - hb.settings.start_offset_right.y = hb.load_setting("hudbars_start_offset_right_y", "number", -86) -else - hb.settings.start_offset_left.x = hb.load_setting("hudbars_start_statbar_offset_left_x", "number", -265) - hb.settings.start_offset_left.y = hb.load_setting("hudbars_start_statbar_offset_left_y", "number", -90) - hb.settings.start_offset_right.x = hb.load_setting("hudbars_start_statbar_offset_right_x", "number", 25) - hb.settings.start_offset_right.y = hb.load_setting("hudbars_start_statbar_offset_right_y", "number", -90) -end -hb.settings.vmargin = hb.load_setting("hudbars_vmargin", "number", 24) -hb.settings.tick = hb.load_setting("hudbars_tick", "number", 0.1) - --- experimental setting: Changing this setting is not officially supported, do NOT rely on it! -hb.settings.forceload_default_hudbars = hb.load_setting("hudbars_forceload_default_hudbars", "bool", true) - --- Misc. settings -hb.settings.alignment_pattern = hb.load_setting("hudbars_alignment_pattern", "string", "zigzag", {"zigzag", "stack_up", "stack_down"}) -hb.settings.autohide_breath = hb.load_setting("hudbars_autohide_breath", "bool", true) - -local sorting = minetest.setting_get("hudbars_sorting") -if sorting ~= nil then - hb.settings.sorting = {} - hb.settings.sorting_reverse = {} - for k,v in string.gmatch(sorting, "(%w+)=(%w+)") do - hb.settings.sorting[k] = tonumber(v) - hb.settings.sorting_reverse[tonumber(v)] = k - end -else - hb.settings.sorting = { ["health"] = 0, ["breath"] = 1 } - hb.settings.sorting_reverse = { [0] = "health", [1] = "breath" } -end +-- Load default settings +dofile(minetest.get_modpath("hudbars").."/default_settings.lua") local function player_exists(player) return player ~= nil and player:is_player() @@ -236,7 +191,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta local bar_image, bar_size if hb.settings.bar_type == "progress_bar" then bar_image = textures.bar - bar_size = nil + bar_size = {x=2, y=16} elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then bar_image = textures.icon bar_size = {x=24, y=24} @@ -463,8 +418,16 @@ function hb.get_hudbar_state(player, identifier) return copy end +function hb.get_hudbar_identifiers() + local ids = {} + for id, _ in pairs(hb.hudtables) do + table.insert(ids, id) + end + return ids +end + --register built-in HUD bars -if minetest.setting_getbool("enable_damage") or hb.settings.forceload_default_hudbars then +if minetest.settings:get_bool("enable_damage") or hb.settings.forceload_default_hudbars then hb.register_hudbar("health", 0xFFFFFF, S("Health"), { bar = "hudbars_bar_health.png", icon = "hudbars_icon_health.png", bgicon = "hudbars_bgicon_health.png" }, 20, 20, false) hb.register_hudbar("breath", 0xFFFFFF, S("Breath"), { bar = "hudbars_bar_breath.png", icon = "hudbars_icon_breath.png", bgicon = "hudbars_bgicon_breath.png" }, 10, 10, true) end @@ -478,9 +441,9 @@ end local function custom_hud(player) - if minetest.setting_getbool("enable_damage") or hb.settings.forceload_default_hudbars then + if minetest.settings:get_bool("enable_damage") or hb.settings.forceload_default_hudbars then local hide - if minetest.setting_getbool("enable_damage") then + if minetest.settings:get_bool("enable_damage") then hide = false else hide = true @@ -500,7 +463,7 @@ end -- update built-in HUD bars local function update_hud(player) if not player_exists(player) then return end - if minetest.setting_getbool("enable_damage") then + if minetest.settings:get_bool("enable_damage") then if hb.settings.forceload_default_hudbars then hb.unhide_hudbar(player, "health") end @@ -521,7 +484,11 @@ local function update_hud(player) end end -minetest.register_on_player_hpchange(update_health) +minetest.register_on_player_hpchange(function(player) + if hb.players[player:get_player_name()] ~= nil then + update_health(player) + end +end) minetest.register_on_respawnplayer(function(player) update_health(player) @@ -546,7 +513,7 @@ minetest.register_globalstep(function(dtime) if main_timer > hb.settings.tick or timer > 4 then if main_timer > hb.settings.tick then main_timer = 0 end -- only proceed if damage is enabled - if minetest.setting_getbool("enable_damage") or hb.settings.forceload_default_hudbars then + if minetest.settings:get_bool("enable_damage") or hb.settings.forceload_default_hudbars then for _, player in pairs(hb.players) do -- update all hud elements update_hud(player) diff --git a/mods/hudbars/locale/de.txt b/mods/HUD/hudbars/locale/de.txt similarity index 100% rename from mods/hudbars/locale/de.txt rename to mods/HUD/hudbars/locale/de.txt diff --git a/mods/hudbars/locale/pt.txt b/mods/HUD/hudbars/locale/pt.txt similarity index 100% rename from mods/hudbars/locale/pt.txt rename to mods/HUD/hudbars/locale/pt.txt diff --git a/mods/hudbars/locale/template.txt b/mods/HUD/hudbars/locale/template.txt similarity index 100% rename from mods/hudbars/locale/template.txt rename to mods/HUD/hudbars/locale/template.txt diff --git a/mods/HUD/hudbars/locale/tr.txt b/mods/HUD/hudbars/locale/tr.txt new file mode 100644 index 0000000..b49c7a0 --- /dev/null +++ b/mods/HUD/hudbars/locale/tr.txt @@ -0,0 +1,3 @@ +Health = Can +Breath = Nefes +%s: %d/%d = %s: %d/%d diff --git a/mods/hudbars/mod.conf b/mods/HUD/hudbars/mod.conf similarity index 100% rename from mods/hudbars/mod.conf rename to mods/HUD/hudbars/mod.conf diff --git a/mods/hudbars/screenshot.png b/mods/HUD/hudbars/screenshot.png similarity index 100% rename from mods/hudbars/screenshot.png rename to mods/HUD/hudbars/screenshot.png diff --git a/mods/hudbars/settingtypes.txt b/mods/HUD/hudbars/settingtypes.txt similarity index 100% rename from mods/hudbars/settingtypes.txt rename to mods/HUD/hudbars/settingtypes.txt diff --git a/mods/hudbars/textures/hudbars_bar_background.png b/mods/HUD/hudbars/textures/hudbars_bar_background.png similarity index 100% rename from mods/hudbars/textures/hudbars_bar_background.png rename to mods/HUD/hudbars/textures/hudbars_bar_background.png diff --git a/mods/hudbars/textures/hudbars_bar_breath.png b/mods/HUD/hudbars/textures/hudbars_bar_breath.png similarity index 100% rename from mods/hudbars/textures/hudbars_bar_breath.png rename to mods/HUD/hudbars/textures/hudbars_bar_breath.png diff --git a/mods/hudbars/textures/hudbars_bar_health.png b/mods/HUD/hudbars/textures/hudbars_bar_health.png similarity index 100% rename from mods/hudbars/textures/hudbars_bar_health.png rename to mods/HUD/hudbars/textures/hudbars_bar_health.png diff --git a/mods/hudbars/textures/hudbars_bgicon_breath.png b/mods/HUD/hudbars/textures/hudbars_bgicon_breath.png similarity index 100% rename from mods/hudbars/textures/hudbars_bgicon_breath.png rename to mods/HUD/hudbars/textures/hudbars_bgicon_breath.png diff --git a/mods/hudbars/textures/hudbars_bgicon_health.png b/mods/HUD/hudbars/textures/hudbars_bgicon_health.png similarity index 100% rename from mods/hudbars/textures/hudbars_bgicon_health.png rename to mods/HUD/hudbars/textures/hudbars_bgicon_health.png diff --git a/mods/hudbars/textures/hudbars_icon_breath.png b/mods/HUD/hudbars/textures/hudbars_icon_breath.png similarity index 100% rename from mods/hudbars/textures/hudbars_icon_breath.png rename to mods/HUD/hudbars/textures/hudbars_icon_breath.png diff --git a/mods/hudbars/textures/hudbars_icon_health.png b/mods/HUD/hudbars/textures/hudbars_icon_health.png similarity index 100% rename from mods/hudbars/textures/hudbars_icon_health.png rename to mods/HUD/hudbars/textures/hudbars_icon_health.png diff --git a/mods/HUD/modpack.txt b/mods/HUD/modpack.txt new file mode 100644 index 0000000..e69de29