From 31fa8317e8a292737bb3fcbcbc3726b8a9b1e392 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Tue, 24 Feb 2015 01:55:07 +0100 Subject: [PATCH] Initial cleanup --- hud.conf.example | 33 --- hunger.lua | 361 ------------------------------- init.lua | 245 +-------------------- textures/crosshair.png | Bin 216 -> 0 bytes textures/hud_air_fg.png | Bin 579 -> 0 bytes textures/hud_armor_bg.png | Bin 424 -> 0 bytes textures/hud_heart_bg.png | Bin 302 -> 0 bytes textures/hud_heart_fg.png | Bin 369 -> 0 bytes textures/hud_hotbar.png | Bin 1142 -> 0 bytes textures/hud_hotbar_selected.png | Bin 9049 -> 0 bytes textures/hud_hunger_bg.png | Bin 417 -> 0 bytes textures/hud_hunger_fg.png | Bin 522 -> 0 bytes textures/wieldhand.png | Bin 153 -> 0 bytes 13 files changed, 6 insertions(+), 633 deletions(-) delete mode 100644 hud.conf.example delete mode 100644 hunger.lua delete mode 100644 textures/crosshair.png delete mode 100644 textures/hud_air_fg.png delete mode 100644 textures/hud_armor_bg.png delete mode 100644 textures/hud_heart_bg.png delete mode 100644 textures/hud_heart_fg.png delete mode 100644 textures/hud_hotbar.png delete mode 100644 textures/hud_hotbar_selected.png delete mode 100644 textures/hud_hunger_bg.png delete mode 100644 textures/hud_hunger_fg.png delete mode 100644 textures/wieldhand.png diff --git a/hud.conf.example b/hud.conf.example deleted file mode 100644 index ffa4cd7..0000000 --- a/hud.conf.example +++ /dev/null @@ -1,33 +0,0 @@ ---##Better HUD example config file## ------------------------------------- --- This example moves the health bar in the top left corner and the hunger bar in the top right corner - - --- --- general settings --- -HUD_ENABLE_HUNGER = true --enables/disables hunger -HUD_HUNGER_TICK = 300 --sets time for loosing 1/2 bread (of 10) (in seconds) - - ---!NOTICE!-- --- >>if damage is disabled neither health bar nor hunger bar or breath bar is shown - --- --- health bar --- -HUD_HEALTH_POS = {x=0,y=0} --min 0, max 1 -HUD_HEALTH_OFFSET = {x=5,y=30} --offset in pixel - --- --- hunger bar --- -HUD_HUNGER_POS = {x=1,y=0} --min 0, max 1 -HUD_HUNGER_OFFSET = {x=-175,y=30} --offset in pixel - --- --- breath bar --- -HUD_AIR_POS = {x=0.5,y=1} --min 0, max 1 -HUD_AIR_OFFSET = {x=15,y=-75} --offset in pixel - diff --git a/hunger.lua b/hunger.lua deleted file mode 100644 index 8c4e787..0000000 --- a/hunger.lua +++ /dev/null @@ -1,361 +0,0 @@ --- Keep these for backwards compatibility -function hud.save_hunger(player) - hud.set_hunger(player) -end -function hud.load_hunger(player) - hud.get_hunger(player) -end - --- Poison player -local function poisenp(tick, time, time_left, player) - time_left = time_left + tick - if time_left < time then - minetest.after(tick, poisenp, tick, time, time_left, player) - else - --reset hud image - end - if player:get_hp()-1 > 0 then - player:set_hp(player:get_hp()-1) - end - -end - -function hud.item_eat(hunger_change, replace_with_item, poisen, heal) - return function(itemstack, user, pointed_thing) - if itemstack:take_item() ~= nil and user ~= nil then - local name = user:get_player_name() - local h = tonumber(hud.hunger[name]) - local hp = user:get_hp() - - -- Saturation - if h < 30 and hunger_change then - h = h + hunger_change - if h > 30 then h = 30 end - hud.hunger[name] = h - hud.set_hunger(user) - end - -- Healing - if hp < 20 and heal then - hp = hp + heal - if hp > 20 then hp = 20 end - user:set_hp(hp) - end - -- Poison - if poisen then - --set hud-img - poisenp(1.0, poisen, 0, user) - end - - --sound:eat - itemstack:add_item(replace_with_item) - end - return itemstack - end -end - -local function overwrite(name, hunger_change, replace_with_item, poisen, heal) - local tab = minetest.registered_items[name] - if tab == nil then return end - tab.on_use = hud.item_eat(hunger_change, replace_with_item, poisen, heal) - minetest.registered_items[name] = tab -end - -overwrite("default:apple", 2) -if minetest.get_modpath("farming") ~= nil then - overwrite("farming:bread", 4) -end - -if minetest.get_modpath("mobs") ~= nil then - overwrite("mobs:meat", 6) - overwrite("mobs:meat_raw", 3) - overwrite("mobs:rat_cooked", 5) -end - -if minetest.get_modpath("moretrees") ~= nil then - overwrite("moretrees:coconut_milk", 1) - overwrite("moretrees:raw_coconut", 2) - overwrite("moretrees:acorn_muffin", 3) - overwrite("moretrees:spruce_nuts", 1) - overwrite("moretrees:pine_nuts", 1) - overwrite("moretrees:fir_nuts", 1) -end - -if minetest.get_modpath("dwarves") ~= nil then - overwrite("dwarves:beer", 2) - overwrite("dwarves:apple_cider", 1) - overwrite("dwarves:midus", 2) - overwrite("dwarves:tequila", 2) - overwrite("dwarves:tequila_with_lime", 2) - overwrite("dwarves:sake", 2) -end - -if minetest.get_modpath("animalmaterials") ~= nil then - overwrite("animalmaterials:milk", 2) - overwrite("animalmaterials:meat_raw", 3) - overwrite("animalmaterials:meat_pork", 3) - overwrite("animalmaterials:meat_beef", 3) - overwrite("animalmaterials:meat_chicken", 3) - overwrite("animalmaterials:meat_lamb", 3) - overwrite("animalmaterials:meat_venison", 3) - overwrite("animalmaterials:meat_undead", 3, "", 3) - overwrite("animalmaterials:meat_toxic", 3, "", 5) - overwrite("animalmaterials:meat_ostrich", 3) - overwrite("animalmaterials:fish_bluewhite", 2) - overwrite("animalmaterials:fish_clownfish", 2) -end - -if minetest.get_modpath("fishing") ~= nil then - overwrite("fishing:fish_raw", 2) - overwrite("fishing:fish_cooked", 5) - overwrite("fishing:sushi", 6) - overwrite("fishing:shark", 4) - overwrite("fishing:shark_cooked", 8) - overwrite("fishing:pike", 4) - overwrite("fishing:pike_cooked", 8) -end - -if minetest.get_modpath("glooptest") ~= nil then - overwrite("glooptest:kalite_lump", 1) -end - -if minetest.get_modpath("bushes") ~= nil then - overwrite("bushes:sugar", 1) - overwrite("bushes:strawberry", 2) - overwrite("bushes:berry_pie_raw", 3) - overwrite("bushes:berry_pie_cooked", 4) - overwrite("bushes:basket_pies", 15) -end - -if minetest.get_modpath("bushes_classic") then - -- bushes_classic mod, as found in the plantlife modpack - local berries = { - "strawberry", - "blackberry", - "blueberry", - "raspberry", - "gooseberry", - "mixed_berry"} - for _, berry in ipairs(berries) do - if berry ~= "mixed_berry" then - overwrite("bushes:"..berry, 1) - end - overwrite("bushes:"..berry.."_pie_raw", 2) - overwrite("bushes:"..berry.."_pie_cooked", 5) - overwrite("bushes:basket_"..berry, 15) - end -end - -if minetest.get_modpath("mushroom") ~= nil then - overwrite("mushroom:brown", 1) - overwrite("mushroom:red", 1, "", 3) -end - -if minetest.get_modpath("docfarming") ~= nil then - overwrite("docfarming:carrot", 3) - overwrite("docfarming:cucumber", 2) - overwrite("docfarming:corn", 3) - overwrite("docfarming:potato", 4) - overwrite("docfarming:bakedpotato", 5) - overwrite("docfarming:raspberry", 3) -end - -if minetest.get_modpath("farming_plus") ~= nil then - overwrite("farming_plus:carrot_item", 3) - overwrite("farming_plus:banana", 2) - overwrite("farming_plus:orange_item", 2) - overwrite("farming:pumpkin_bread", 4) - overwrite("farming_plus:strawberry_item", 2) - overwrite("farming_plus:tomato_item", 2) - overwrite("farming_plus:potato_item", 4) - overwrite("farming_plus:rhubarb_item", 2) -end - -if minetest.get_modpath("mtfoods") ~= nil then - overwrite("mtfoods:dandelion_milk", 1) - overwrite("mtfoods:sugar", 1) - overwrite("mtfoods:short_bread", 4) - overwrite("mtfoods:cream", 1) - overwrite("mtfoods:chocolate", 2) - overwrite("mtfoods:cupcake", 2) - overwrite("mtfoods:strawberry_shortcake", 2) - overwrite("mtfoods:cake", 3) - overwrite("mtfoods:chocolate_cake", 3) - overwrite("mtfoods:carrot_cake", 3) - overwrite("mtfoods:pie_crust", 3) - overwrite("mtfoods:apple_pie", 3) - overwrite("mtfoods:rhubarb_pie", 2) - overwrite("mtfoods:banana_pie", 3) - overwrite("mtfoods:pumpkin_pie", 3) - overwrite("mtfoods:cookies", 2) - overwrite("mtfoods:mlt_burger", 5) - overwrite("mtfoods:potato_slices", 2) - overwrite("mtfoods:potato_chips", 3) - --mtfoods:medicine - overwrite("mtfoods:casserole", 3) - overwrite("mtfoods:glass_flute", 2) - overwrite("mtfoods:orange_juice", 2) - overwrite("mtfoods:apple_juice", 2) - overwrite("mtfoods:apple_cider", 2) - overwrite("mtfoods:cider_rack", 2) -end - -if minetest.get_modpath("fruit") ~= nil then - overwrite("fruit:apple", 2) - overwrite("fruit:pear", 2) - overwrite("fruit:bananna", 3) - overwrite("fruit:orange", 2) -end - -if minetest.get_modpath("mush45") ~= nil then - overwrite("mush45:meal", 4) -end - -if minetest.get_modpath("seaplants") ~= nil then - overwrite("seaplants:kelpgreen", 1) - overwrite("seaplants:kelpbrown", 1) - overwrite("seaplants:seagrassgreen", 1) - overwrite("seaplants:seagrassred", 1) - overwrite("seaplants:seasaladmix", 6) - overwrite("seaplants:kelpgreensalad", 1) - overwrite("seaplants:kelpbrownsalad", 1) - overwrite("seaplants:seagrassgreensalad", 1) - overwrite("seaplants:seagrassgreensalad", 1) -end - -if minetest.get_modpath("mobfcooking") ~= nil then - overwrite("mobfcooking:cooked_pork", 6) - overwrite("mobfcooking:cooked_ostrich", 6) - overwrite("mobfcooking:cooked_beef", 6) - overwrite("mobfcooking:cooked_chicken", 6) - overwrite("mobfcooking:cooked_lamb", 6) - overwrite("mobfcooking:cooked_venison", 6) - overwrite("mobfcooking:cooked_fish", 6) -end - -if minetest.get_modpath("creatures") ~= nil then - overwrite("creatures:meat", 6) - overwrite("creatures:flesh", 3) - overwrite("creatures:rotten_flesh", 3, "", 3) -end - -if minetest.get_modpath("ethereal") then - overwrite("ethereal:strawberry", 1) - overwrite("ethereal:banana", 4) - overwrite("ethereal:pine_nuts", 1) - overwrite("ethereal:bamboo_sprout", 0, "", 3) - overwrite("ethereal:fern_tubers", 1) - overwrite("ethereal:banana_bread", 7) - overwrite("ethereal:mushroom_plant", 2) - overwrite("ethereal:coconut_slice", 2) - overwrite("ethereal:golden_apple", 4, "", nil, 10) - overwrite("ethereal:wild_onion_plant", 2) - overwrite("ethereal:mushroom_soup", 4, "ethereal:bowl") - overwrite("ethereal:mushroom_soup_cooked", 6, "ethereal:bowl") - overwrite("ethereal:hearty_stew", 6, "ethereal:bowl", 3) - overwrite("ethereal:hearty_stew_cooked", 10, "ethereal:bowl") - if minetest.get_modpath("bucket") then - overwrite("ethereal:bucket_cactus", 2, "bucket:bucket_empty") - end - overwrite("ethereal:fish_raw", 2) - overwrite("ethereal:fish_cooked", 5) - overwrite("ethereal:seaweed", 1) - overwrite("ethereal:yellowleaves", 1, "", nil, 1) - overwrite("ethereal:sashimi", 4) -end - -if minetest.get_modpath("farming") and farming.mod == "redo" then - overwrite("farming:bread", 6) - overwrite("farming:potato", 1) - overwrite("farming:baked_potato", 6) - overwrite("farming:cucumber", 4) - overwrite("farming:tomato", 4) - overwrite("farming:carrot", 3) - overwrite("farming:carrot_gold", 6, "", nil, 8) - overwrite("farming:corn", 3) - overwrite("farming:corn_cob", 5) - overwrite("farming:melon_slice", 2) - overwrite("farming:pumpkin_slice", 1) - overwrite("farming:pumpkin_bread", 9) - overwrite("farming:coffee_cup", 2, "farming:drinking_cup") - overwrite("farming:coffee_cup_hot", 3, "farming:drinking_cup", nil, 2) - overwrite("farming:cookie", 2) - overwrite("farming:chocolate_dark", 3) - overwrite("farming:donut", 4) - overwrite("farming:donut_chocolate", 6) - overwrite("farming:donut_apple", 6) - overwrite("farming:raspberries", 1) - if minetest.get_modpath("vessels") then - overwrite("farming:smoothie_raspberry", 2, "vessels:drinking_glass") - end - overwrite("farming:rhubarb", 1) - overwrite("farming:rhubarb_pie", 6) -end - -if minetest.get_modpath("kpgmobs") ~= nil then - overwrite("kpgmobs:uley", 3) - overwrite("kpgmobs:meat", 6) - overwrite("kpgmobs:rat_cooked", 5) - overwrite("kpgmobs:med_cooked", 4) - if minetest.get_modpath("bucket") then - overwrite("kpgmobs:bucket_milk", 4, "bucket:bucket_empty") - end -end - -if minetest.get_modpath("jkfarming") ~= nil then - overwrite("jkfarming:carrot", 3) - overwrite("jkfarming:corn", 3) - overwrite("jkfarming:melon_part", 2) - overwrite("jkfarming:cake", 3) -end - -if minetest.get_modpath("jkanimals") ~= nil then - overwrite("jkanimals:meat", 6) -end - -if minetest.get_modpath("jkwine") ~= nil then - overwrite("jkwine:grapes", 2) - overwrite("jkwine:winebottle", 1) -end - -if minetest.get_modpath("cooking") ~= nil then - overwrite("cooking:meat_beef_cooked", 4) - overwrite("cooking:fish_bluewhite_cooked", 3) - overwrite("cooking:fish_clownfish_cooked", 1) - overwrite("cooking:meat_chicken_cooked", 2) - overwrite("cooking:meat_cooked", 2) - overwrite("cooking:meat_pork_cooked", 3) - overwrite("cooking:meat_toxic_cooked", -3) - overwrite("cooking:meat_venison_cooked", 3) - overwrite("cooking:meat_undead_cooked", 1) -end - --- player-action based hunger changes -function hud.handle_node_actions(pos, oldnode, player, ext) - if not player or not player:is_player() then - return - end - local name = player:get_player_name() - local exhaus = hud.exhaustion[name] - local new = HUD_HUNGER_EXHAUST_PLACE - -- placenode event - if not ext then - new = HUD_HUNGER_EXHAUST_DIG - end - -- assume its send by main timer when movement detected - if not pos and not oldnode then - new = HUD_HUNGER_EXHAUST_MOVE - end - exhaus = exhaus + new - if exhaus > HUD_HUNGER_EXHAUST_LVL then - exhaus = 0 - local h = tonumber(hud.hunger[name]) - h = h - 1 - if h < 0 then h = 0 end - hud.hunger[name] = h - hud.set_hunger(player) - end - hud.exhaustion[name] = exhaus -end - -minetest.register_on_placenode(hud.handle_node_actions) -minetest.register_on_dignode(hud.handle_node_actions) diff --git a/init.lua b/init.lua index 1dc9809..af32101 100644 --- a/init.lua +++ b/init.lua @@ -1,154 +1,26 @@ hud = {} -- HUD statbar values -hud.health = {} -hud.hunger = {} -hud.air = {} hud.armor = {} -hud.hunger_out = {} hud.armor_out = {} -- HUD item ids -local health_hud = {} -local hunger_hud = {} -local air_hud = {} local armor_hud = {} local armor_hud_bg = {} --- default settings - -HUD_SCALEABLE = false -HUD_SIZE = "" - - -- statbar positions -HUD_HEALTH_POS = {x=0.5,y=0.9} -HUD_HEALTH_OFFSET = {x=-175, y=2} -HUD_HUNGER_POS = {x=0.5,y=0.9} -HUD_HUNGER_OFFSET = {x=15, y=2} -HUD_AIR_POS = {x=0.5,y=0.9} -HUD_AIR_OFFSET = {x=15,y=-15} -HUD_ARMOR_POS = {x=0.5,y=0.9} -HUD_ARMOR_OFFSET = {x=-175, y=-15} - --- dirty way to check for new statbars -if dump(minetest.hud_replace_builtin) ~= "nil" then - HUD_SCALEABLE = true - HUD_SIZE = {x=24, y=24} - HUD_HEALTH_POS = {x=0.5,y=1} - HUD_HEALTH_OFFSET = {x=-262, y=-87} - HUD_HUNGER_POS = {x=0.5,y=1} - HUD_HUNGER_OFFSET = {x=15, y=-87} - HUD_AIR_POS = {x=0.5,y=1} - HUD_AIR_OFFSET = {x=15,y=-110} - HUD_ARMOR_POS = {x=0.5,y=1} - HUD_ARMOR_OFFSET = {x=-262, y=-110} -end - HUD_TICK = 0.1 ---Some hunger settings -hud.exhaustion = {} -- Exhaustion is experimental! - -HUD_HUNGER_TICK = 800 -- time in seconds after that 1 hunger point is taken -HUD_HUNGER_EXHAUST_DIG = 3 -- exhaustion increased this value after digged node -HUD_HUNGER_EXHAUST_PLACE = 1 -- exhaustion increased this value after placed -HUD_HUNGER_EXHAUST_MOVE = 0.3 -- exhaustion increased this value if player movement detected -HUD_HUNGER_EXHAUST_LVL = 160 -- at what exhaustion player saturation gets lowerd - - - -HUD_ENABLE_HUNGER = minetest.setting_getbool("hud_hunger_enable") -if HUD_ENABLE_HUNGER == nil then - HUD_ENABLE_HUNGER = minetest.setting_getbool("enable_damage") -end - -HUD_SHOW_ARMOR = false -if minetest.get_modpath("3d_armor") ~= nil then - HUD_SHOW_ARMOR = true -end - --load custom settings -local set = io.open(minetest.get_modpath("hud").."/hud.conf", "r") +local set = io.open(minetest.get_modpath("hbarmor").."/hud.conf", "r") if set then - dofile(minetest.get_modpath("hud").."/hud.conf") + dofile(minetest.get_modpath("hbarmor").."/hud.conf") set:close() -else - if not HUD_ENABLE_HUNGER then - HUD_AIR_OFFSET = HUD_HUNGER_OFFSET - end end -local function hide_builtin(player) - player:hud_set_flags({crosshair = true, hotbar = true, healthbar = false, wielditem = true, breathbar = false}) -end - - local function custom_hud(player) local name = player:get_player_name() --- fancy hotbar (only when no crafting mod present) - if minetest.get_modpath("crafting") == nil then - player:hud_set_hotbar_image("hud_hotbar.png") - player:hud_set_hotbar_selected_image("hud_hotbar_selected.png") - end - if minetest.setting_getbool("enable_damage") then - --hunger - if HUD_ENABLE_HUNGER then - player:hud_add({ - hud_elem_type = "statbar", - position = HUD_HUNGER_POS, - size = HUD_SIZE, - text = "hud_hunger_bg.png", - number = 20, - alignment = {x=-1,y=-1}, - offset = HUD_HUNGER_OFFSET, - }) - local h = hud.hunger[name] - if h == nil or h > 20 then h = 20 end - hunger_hud[name] = player:hud_add({ - hud_elem_type = "statbar", - position = HUD_HUNGER_POS, - size = HUD_SIZE, - text = "hud_hunger_fg.png", - number = h, - alignment = {x=-1,y=-1}, - offset = HUD_HUNGER_OFFSET, - }) - end - --health - player:hud_add({ - hud_elem_type = "statbar", - position = HUD_HEALTH_POS, - size = HUD_SIZE, - text = "hud_heart_bg.png", - number = 20, - alignment = {x=-1,y=-1}, - offset = HUD_HEALTH_OFFSET, - }) - health_hud[name] = player:hud_add({ - hud_elem_type = "statbar", - position = HUD_HEALTH_POS, - size = HUD_SIZE, - text = "hud_heart_fg.png", - number = player:get_hp(), - alignment = {x=-1,y=-1}, - offset = HUD_HEALTH_OFFSET, - }) - - --air - air_hud[name] = player:hud_add({ - hud_elem_type = "statbar", - position = HUD_AIR_POS, - size = HUD_SIZE, - text = "hud_air_fg.png", - number = 0, - alignment = {x=-1,y=-1}, - offset = HUD_AIR_OFFSET, - }) - - --armor - if HUD_SHOW_ARMOR then armor_hud_bg[name] = player:hud_add({ hud_elem_type = "statbar", position = HUD_ARMOR_POS, @@ -167,7 +39,6 @@ local function custom_hud(player) alignment = {x=-1,y=-1}, offset = HUD_ARMOR_OFFSET, }) - end end end @@ -176,27 +47,11 @@ function hud.set_armor() end -if HUD_ENABLE_HUNGER then dofile(minetest.get_modpath("hud").."/hunger.lua") end -if HUD_SHOW_ARMOR then dofile(minetest.get_modpath("hud").."/armor.lua") end +dofile(minetest.get_modpath("hbarmor").."/armor.lua") -- update hud elemtens if value has changed local function update_hud(player) local name = player:get_player_name() - --air - local air = tonumber(hud.air[name]) - if player:get_breath() ~= air then - air = player:get_breath() - hud.air[name] = air - if air > 10 then air = 0 end - player:hud_change(air_hud[name], "number", air*2) - end - --health - local hp = tonumber(hud.health[name]) - if player:get_hp() ~= hp then - hp = player:get_hp() - hud.health[name] = hp - player:hud_change(health_hud[name], "number", hp) - end --armor local arm_out = tonumber(hud.armor_out[name]) if not arm_out then arm_out = 0 end @@ -212,128 +67,40 @@ local function update_hud(player) player:hud_change(armor_hud_bg[name], "number", 20) end end - --hunger - local h_out = tonumber(hud.hunger_out[name]) - local h = tonumber(hud.hunger[name]) - if h_out ~= h then - hud.hunger_out[name] = h - -- bar should not have more than 10 icons - if h>20 then h=20 end - player:hud_change(hunger_hud[name], "number", h) - end -end - -hud.get_hunger = function(player) - local inv = player:get_inventory() - if not inv then return nil end - local hgp = inv:get_stack("hunger", 1):get_count() - if hgp == 0 then - hgp = 21 - inv:set_stack("hunger", 1, ItemStack({name=":", count=hgp})) - else - hgp = hgp - end - return hgp-1 -end - -hud.set_hunger = function(player) - local inv = player:get_inventory() - local name = player:get_player_name() - local value = hud.hunger[name] - if not inv or not value then return nil end - if value > 30 then value = 30 end - if value < 0 then value = 0 end - - inv:set_stack("hunger", 1, ItemStack({name=":", count=value+1})) - - return true end minetest.register_on_joinplayer(function(player) local name = player:get_player_name() - local inv = player:get_inventory() - inv:set_size("hunger",1) - hud.health[name] = player:get_hp() - if HUD_ENABLE_HUNGER then - hud.hunger[name] = hud.get_hunger(player) - hud.hunger_out[name] = hud.hunger[name] - hud.exhaustion[name] = 0 - end hud.armor[name] = 0 hud.armor_out[name] = 0 - local air = player:get_breath() - hud.air[name] = air - minetest.after(0.5, function() - hide_builtin(player) - custom_hud(player) - if HUD_ENABLE_HUNGER then hud.set_hunger(player) end - end) + custom_hud(player) end) minetest.register_on_respawnplayer(function(player) - -- reset player breath since the engine doesnt - player:set_breath(11) - -- reset hunger (and save) - local name = player:get_player_name() - hud.hunger[name] = 20 - if HUD_ENABLE_HUNGER then - minetest.after(0.5, hud.set_hunger, player) - hud.exhaustion[name] = 0 - end end) local main_timer = 0 local timer = 0 -local timer2 = 0 minetest.after(2.5, function() minetest.register_globalstep(function(dtime) main_timer = main_timer + dtime timer = timer + dtime - timer2 = timer2 + dtime - if main_timer > HUD_TICK or timer > 4 or timer2 > HUD_HUNGER_TICK then + if main_timer > HUD_TICK or timer > 4 then if main_timer > HUD_TICK then main_timer = 0 end for _,player in ipairs(minetest.get_connected_players()) do local name = player:get_player_name() -- only proceed if damage is enabled if minetest.setting_getbool("enable_damage") then - local h = tonumber(hud.hunger[name]) - local hp = player:get_hp() - if HUD_ENABLE_HUNGER and timer > 4 then - -- heal player by 1 hp if not dead and saturation is > 15 (of 30) - if h > 15 and hp > 0 and hud.air[name] > 0 then - player:set_hp(hp+1) - -- or damage player by 1 hp if saturation is < 2 (of 30) - elseif h <= 1 and minetest.setting_getbool("enable_damage") then - if hp-1 >= 0 then player:set_hp(hp-1) end - end - end - -- lower saturation by 1 point after xx seconds - if HUD_ENABLE_HUNGER and timer2 > HUD_HUNGER_TICK then - if h > 0 then - h = h-1 - hud.hunger[name] = h - hud.set_hunger(player) - end - end - -- update current armor level - if HUD_SHOW_ARMOR then hud.get_armor(player) end + hud.get_armor(player) -- update all hud elements update_hud(player) - if HUD_ENABLE_HUNGER then - local controls = player:get_player_control() - -- Determine if the player is walking - if controls.up or controls.down or controls.left or controls.right then - hud.handle_node_actions(nil, nil, player) - end - end end end end if timer > 4 then timer = 0 end - if timer2 > HUD_HUNGER_TICK then timer2 = 0 end end) end) diff --git a/textures/crosshair.png b/textures/crosshair.png deleted file mode 100644 index a832298bb1aa82566b697e9844cc39f5d37ba3ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8oCO|{#S9F3${@^GvDCf{DA?uc z;uumf=k2xAoDB{FE{@Jd437;wn{)K#ME@*k_L03;xR85VYP*W_@>A>#%wX_+WetM? z7<~AAtkNoWlIqE#k30|o=?B(~%*^|_&wUekTl&?|nq!B^op)Z$%;s#%Z(kRZ0D>Rc qAL6y-8F;|p&hk%;2f(2Bpf>CNr9Jzkk7)v3#o+1c=d#Wzp$PyB8%AUR diff --git a/textures/hud_air_fg.png b/textures/hud_air_fg.png deleted file mode 100644 index b62c9b02f7f95fb61becb97a8ad79e81a2328ff6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 579 zcmV-J0=)f+P)G&XICSPKg*(jAuFW#{L?*nllW(@CD& zJWnQh-(dhS$AJOB7)-`K9@=cWM|L}VXZ8U*Wx3BzPEE77Zcm^3`<}sMJRA_((!}?s zRLbs2@D^%#mf~?Qw1pe?WcK1!?%dEojdUWPcoFrsf|V$BxH)Qh9inp|Hq>zZTN~EU z4lYl+uN)bu6Eg9I--o1XaJpbd&vCk7ejmqtu0k-oyp0RjpPcOrs9jB073ET+t@g=I z7tFn+^O|pYb00UKreF324G^Bq}I$2(($f0aAtH&cMuSW$}San zxH)PWB>!P;w@v(?d5nyWj~@gYqQWj_YY2wu+^_)W!Az=5q4-O1L!u~$ z2gv}CSkt&q+#qjAa7PoYpHXvr!DF4897(MO7P*rI!Qp00LYedI~_t02AG zZlTDFXvhjGLg(brRW_K6jN^sx(n27H$DSw_-^7r}tz*FxIR8(7;eR=H;1?=BX(~z| R!KnZM002ovPDHLkV1iLN40Heh diff --git a/textures/hud_armor_bg.png b/textures/hud_armor_bg.png deleted file mode 100644 index 32401003a8f42a81bb123e03be086fdda348c159..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 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 z 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 LNkvXXu0mjf5NEV} diff --git a/textures/hud_hunger_fg.png b/textures/hud_hunger_fg.png deleted file mode 100644 index a5cc2a12339c1fcba9e605fb5cae51aabcefb60c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcmV+l0`>igP)pGyh%hsRCt`NlfP?IVHAd+ivNL21xFVL|C0n#xP+i^QAlWqIyfi| zNJ(|Dv}V%5Hsp#oVkM*!2m~Z0v~q__BmSVxu^J9O+YXXFK0RD zIWOP$9wae|CK~=f0DpR6MD-+cW1&hnQ0XQr+Wh>pZvIwADLRAaxBv4?74{TPENeux5e{O2973m*1$T%o?iuPB~-Xhx1 zqUJJcrcv`2GHc-ylSjtk_{=X1%2(7bphE|J$)kh(urY^PIn>IBGQ&kc_nDm%_0}w4oO^A8-asU7T M07*qoM6N<$g3~bIf1fv-&8X!Zn}cD%=Mn+7 zs?=8wk{fE-Zb)x8^OI3ve)o39&;NQi8aTHYGBEs}cEDa;d-)5XT@0SCelF{r5}E+e Ckv;DK