1
0
Fork 0

Rename mod: hbarmor → mcl_hbarmor

objects
Wuzzy 2020-02-17 20:24:26 +01:00
parent e3b68c4364
commit bef99ac211
16 changed files with 60 additions and 86 deletions

View File

@ -1,42 +0,0 @@
# HUD bar for `3d_armor` [`hbarmor`]
* Version: 0.4.0
## Description
This mod adds a simple HUD bar which displays the current damage
of the player's armor (from the 3D Armor [`3d_armor`] mod) as a percentage (rounded).
100% armor means the armor is in perfect shape. 0% means the armor is almost destroyed
or non-existant. Note that to reach 100%, the player must wear at least 4 different
pieces of armor in perfect shape.
The armor bar also does not tell anything about the armor's strength,
only how worn out it already is.
By default, the armor bar is hidden if the player wears no armor.
## Dependencies
* HUD bars [`hudbars`], major version 1
* 3D Armor [`3d_armor`] (tested with Minetest 0.4.14)
## Licensing
This mod is entirly free softare.
### Source code
* License: MIT License (see below)
* Authors: Wuzzy, forked from the mod “Better HUD (and hunger)” [`hud`] by BlockMen (2013-2014)
### Textures
* `hbarmor_icon.png`—Stu ([CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)), modified by BlockMen
* `hbarmor_bgicon.png`—Stu (CC BY-SA 3.0), modified by BlockMen
* `hbarmor_bar.png`—Wuzzy (MIT License)
Everything else is under the MIT License:
© Copyright BlockMen (2013-2014)
This program is free software. It comes without any warranty, to
the extent permitted by applicable law. You can redistribute it
and/or modify it under the terms of the MIT License.
See <https://opensource.org/licenses/MIT> for more details.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,7 +0,0 @@
#If true, automatically hides the armor HUD bar when the player wears no
#armor. Otherwise, the armor bar shows “0%”.
hbarmor_autohide (Automatically hide armor HUD bar) bool true
#Time difference in seconds between updates to the armor HUD bar.
#Increase this number for slow servers.
hbarmor_tick (Armor HUD bar update frequency) float 0.1 0.0 4.0

View File

@ -0,0 +1,26 @@
# MineClone 2 HUD bar for `3d_armor` [`mcl_hbarmor`]
## Description
This mod adds a simple HUD bar which displays the player's armor points.
The players has 0-20 armor points.
The armor bar is hidden if the player wears no armor.
## Licensing
This mod is entirly free softare.
### Source code
License: MIT License (see below)
### Textures
See MineClone 2 license.
### MIT License
Everything else is under the MIT License:
© Copyright BlockMen (2013-2014)
This program is free software. It comes without any warranty, to
the extent permitted by applicable law. You can redistribute it
and/or modify it under the terms of the MIT License.
See <https://opensource.org/licenses/MIT> for more details.

View File

@ -1,33 +1,27 @@
local S = minetest.get_translator("hbarmor") local S = minetest.get_translator("mcl_hbarmor")
if (not armor) or (not armor.def) then if (not armor) or (not armor.def) then
minetest.log("error", "[hbarmor] Outdated 3d_armor version. Please update your version of 3d_armor!") minetest.log("error", "[mcl_hbarmor] Outdated 3d_armor version. Please update your version of 3d_armor!")
end end
local hbarmor = {} local mcl_hbarmor = {}
-- HUD statbar values -- HUD statbar values
hbarmor.armor = {} mcl_hbarmor.armor = {}
-- Stores if player's HUD bar has been initialized so far. -- Stores if player's HUD bar has been initialized so far.
hbarmor.player_active = {} mcl_hbarmor.player_active = {}
-- Time difference in seconds between updates to the HUD armor bar. -- Time difference in seconds between updates to the HUD armor bar.
-- Increase this number for slow servers. -- Increase this number for slow servers.
hbarmor.tick = 0.1 mcl_hbarmor.tick = 0.1
-- If true, the armor bar is hidden when the player does not wear any armor -- If true, the armor bar is hidden when the player does not wear any armor
hbarmor.autohide = true mcl_hbarmor.autohide = true
--load custom settings set = minetest.settings:get("mcl_hbarmor_tick")
local set = minetest.settings:get_bool("hbarmor_autohide")
if set ~= nil then
hbarmor.autohide = set
end
set = minetest.settings:get("hbarmor_tick")
if tonumber(set) ~= nil then if tonumber(set) ~= nil then
hbarmor.tick = tonumber(set) mcl_hbarmor.tick = tonumber(set)
end end
@ -43,17 +37,17 @@ local function custom_hud(player)
local name = player:get_player_name() local name = player:get_player_name()
if minetest.settings:get_bool("enable_damage") then if minetest.settings:get_bool("enable_damage") then
local ret = hbarmor.get_armor(player) local ret = mcl_hbarmor.get_armor(player)
if ret == false then if ret == false then
minetest.log("error", "[hbarmor] Call to hbarmor.get_armor in custom_hud returned with false!") minetest.log("error", "[mcl_hbarmor] Call to mcl_hbarmor.get_armor in custom_hud returned with false!")
return return
end end
local arm = tonumber(hbarmor.armor[name]) local arm = tonumber(mcl_hbarmor.armor[name])
if not arm then if not arm then
arm = 0 arm = 0
end end
local hide local hide
if hbarmor.autohide then if mcl_hbarmor.autohide then
hide = must_hide(name, arm) hide = must_hide(name, arm)
else else
hide = false hide = false
@ -63,9 +57,9 @@ local function custom_hud(player)
end end
--register and define armor HUD bar --register and define armor HUD bar
hb.register_hudbar("armor", 0xFFFFFF, S("Armor"), { icon = "hbarmor_icon.png", bgicon = "hbarmor_bgicon.png", bar = "hbarmor_bar.png" }, 0, 20, hbarmor.autohide) hb.register_hudbar("armor", 0xFFFFFF, S("Armor"), { icon = "hbarmor_icon.png", bgicon = "hbarmor_bgicon.png", bar = "hbarmor_bar.png" }, 0, 20, mcl_hbarmor.autohide)
function hbarmor.get_armor(player) function mcl_hbarmor.get_armor(player)
if not player or not armor.def then if not player or not armor.def then
return false return false
end end
@ -74,25 +68,25 @@ function hbarmor.get_armor(player)
if not pts then if not pts then
return false return false
else else
hbarmor.set_armor(name, pts) mcl_hbarmor.set_armor(name, pts)
end end
return true return true
end end
function hbarmor.set_armor(player_name, pts) function mcl_hbarmor.set_armor(player_name, pts)
hbarmor.armor[player_name] = math.max(0, math.min(20, pts)) mcl_hbarmor.armor[player_name] = math.max(0, math.min(20, pts))
end end
-- update hud elemtens if value has changed -- update hud elemtens if value has changed
local function update_hud(player) local function update_hud(player)
local name = player:get_player_name() local name = player:get_player_name()
--armor --armor
local arm = tonumber(hbarmor.armor[name]) local arm = tonumber(mcl_hbarmor.armor[name])
if not arm then if not arm then
arm = 0 arm = 0
hbarmor.armor[name] = 0 mcl_hbarmor.armor[name] = 0
end end
if hbarmor.autohide then if mcl_hbarmor.autohide then
-- hide armor bar completely when there is none -- hide armor bar completely when there is none
if must_hide(name, arm) then if must_hide(name, arm) then
hb.hide_hudbar(player, "armor") hb.hide_hudbar(player, "armor")
@ -108,12 +102,12 @@ end
minetest.register_on_joinplayer(function(player) minetest.register_on_joinplayer(function(player)
local name = player:get_player_name() local name = player:get_player_name()
custom_hud(player) custom_hud(player)
hbarmor.player_active[name] = true mcl_hbarmor.player_active[name] = true
end) end)
minetest.register_on_leaveplayer(function(player) minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name() local name = player:get_player_name()
hbarmor.player_active[name] = false mcl_hbarmor.player_active[name] = false
end) end)
local main_timer = 0 local main_timer = 0
@ -121,15 +115,15 @@ local timer = 0
minetest.register_globalstep(function(dtime) minetest.register_globalstep(function(dtime)
main_timer = main_timer + dtime main_timer = main_timer + dtime
timer = timer + dtime timer = timer + dtime
if main_timer > hbarmor.tick or timer > 4 then if main_timer > mcl_hbarmor.tick or timer > 4 then
if minetest.settings:get_bool("enable_damage") then if minetest.settings:get_bool("enable_damage") then
if main_timer > hbarmor.tick then main_timer = 0 end if main_timer > mcl_hbarmor.tick then main_timer = 0 end
for _,player in ipairs(minetest.get_connected_players()) do for _,player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name() local name = player:get_player_name()
if hbarmor.player_active[name] == true then if mcl_hbarmor.player_active[name] == true then
local ret = hbarmor.get_armor(player) local ret = mcl_hbarmor.get_armor(player)
if ret == false then if ret == false then
minetest.log("error", "[hbarmor] Call to hbarmor.get_armor in globalstep returned with false!") minetest.log("error", "[mcl_hbarmor] Call to mcl_hbarmor.get_armor in globalstep returned with false!")
end end
-- update all hud elements -- update all hud elements
update_hud(player) update_hud(player)

View File

@ -1,2 +1,2 @@
name = hbarmor name = mcl_hbarmor
depends = hudbars, 3d_armor depends = hudbars, 3d_armor

View File

@ -0,0 +1,3 @@
#Time difference in seconds between updates to the armor HUD bar.
#Increase this number for slow servers.
hbarmor_tick (Armor HUD bar update frequency) float 0.1 0.0 4.0

View File

Before

Width:  |  Height:  |  Size: 91 B

After

Width:  |  Height:  |  Size: 91 B

View File

Before

Width:  |  Height:  |  Size: 896 B

After

Width:  |  Height:  |  Size: 896 B

View File

Before

Width:  |  Height:  |  Size: 904 B

After

Width:  |  Height:  |  Size: 904 B

View File

@ -1,7 +1,7 @@
Source path,Source file,Target path,Target file,xs,ys,xl,yl,xt,yt,Blacklisted? Source path,Source file,Target path,Target file,xs,ys,xl,yl,xt,yt,Blacklisted?
/assets/minecraft/textures/particle,particles.png,/mods/CORE/mcl_particles/textures,mcl_particles_bubble.png,0,16,8,8,0,0,y /assets/minecraft/textures/particle,particles.png,/mods/CORE/mcl_particles/textures,mcl_particles_bubble.png,0,16,8,8,0,0,y
/assets/minecraft/textures/gui,icons.png,/mods/HUD/hbarmor/textures,hbarmor_icon.png,34,9,9,9,0,0,y /assets/minecraft/textures/gui,icons.png,/mods/HUD/mcl_hbarmor/textures,hbarmor_icon.png,34,9,9,9,0,0,y
/assets/minecraft/textures/gui,icons.png,/mods/HUD/hbarmor/textures,hbarmor_bgicon.png,16,9,9,9,0,0,y /assets/minecraft/textures/gui,icons.png,/mods/HUD/mcl_hbarmor/textures,hbarmor_bgicon.png,16,9,9,9,0,0,y
/assets/minecraft/textures/gui,icons.png,/mods/HUD/hudbars/textures,hudbars_icon_health.png,52,0,9,9,0,0,y /assets/minecraft/textures/gui,icons.png,/mods/HUD/hudbars/textures,hudbars_icon_health.png,52,0,9,9,0,0,y
/assets/minecraft/textures/gui,icons.png,/mods/HUD/hudbars/textures,hudbars_bgicon_health.png,16,0,9,9,0,0,y /assets/minecraft/textures/gui,icons.png,/mods/HUD/hudbars/textures,hudbars_bgicon_health.png,16,0,9,9,0,0,y
/assets/minecraft/textures/gui,icons.png,/mods/HUD/hudbars/textures,hudbars_icon_breath.png,16,18,9,9,0,0,y /assets/minecraft/textures/gui,icons.png,/mods/HUD/hudbars/textures,hudbars_icon_breath.png,16,18,9,9,0,0,y

1 Source path Source file Target path Target file xs ys xl yl xt yt Blacklisted?
2 /assets/minecraft/textures/particle particles.png /mods/CORE/mcl_particles/textures mcl_particles_bubble.png 0 16 8 8 0 0 y
3 /assets/minecraft/textures/gui icons.png /mods/HUD/hbarmor/textures /mods/HUD/mcl_hbarmor/textures hbarmor_icon.png 34 9 9 9 0 0 y
4 /assets/minecraft/textures/gui icons.png /mods/HUD/hbarmor/textures /mods/HUD/mcl_hbarmor/textures hbarmor_bgicon.png 16 9 9 9 0 0 y
5 /assets/minecraft/textures/gui icons.png /mods/HUD/hudbars/textures hudbars_icon_health.png 52 0 9 9 0 0 y
6 /assets/minecraft/textures/gui icons.png /mods/HUD/hudbars/textures hudbars_bgicon_health.png 16 0 9 9 0 0 y
7 /assets/minecraft/textures/gui icons.png /mods/HUD/hudbars/textures hudbars_icon_breath.png 16 18 9 9 0 0 y