Rename mod: hbarmor → mcl_hbarmor
|
@ -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.
|
|
Before Width: | Height: | Size: 11 KiB |
|
@ -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
|
|
26
mods/HUD/mcl_hbarmor/README.md
Normal 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.
|
|
@ -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)
|
|
@ -1,2 +1,2 @@
|
||||||
name = hbarmor
|
name = mcl_hbarmor
|
||||||
depends = hudbars, 3d_armor
|
depends = hudbars, 3d_armor
|
3
mods/HUD/mcl_hbarmor/settingtypes.txt
Normal 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
|
Before Width: | Height: | Size: 91 B After Width: | Height: | Size: 91 B |
Before Width: | Height: | Size: 896 B After Width: | Height: | Size: 896 B |
Before Width: | Height: | Size: 904 B After Width: | Height: | Size: 904 B |
|
@ -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
|
||||||
|
|
|