X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=builtin%2Fgame%2Fstatbars.lua;h=61a8b90770a9b8d5e0512445f14d3e108c65ce24;hb=0b0075e6ad0b3110cabdfc92cedb0a24d2b5ec42;hp=ca656a9741420161205efa1fdf28b1f10cd4330e;hpb=1cd512913e4d4ad1fb43d4b6e3d7971bb6c67528;p=dragonfireclient.git diff --git a/builtin/game/statbars.lua b/builtin/game/statbars.lua index ca656a974..61a8b9077 100644 --- a/builtin/game/statbars.lua +++ b/builtin/game/statbars.lua @@ -7,7 +7,7 @@ local health_bar_definition = number = 20, direction = 0, size = { x=24, y=24 }, - offset = { x=(-10*24)-25, y=-(48+24+10)}, + offset = { x=(-10*24)-25, y=-(48+24+16)}, } local breath_bar_definition = @@ -18,7 +18,7 @@ local breath_bar_definition = number = 20, direction = 0, size = { x=24, y=24 }, - offset = {x=25,y=-(48+24+10)}, + offset = {x=25,y=-(48+24+16)}, } local hud_ids = {} @@ -37,9 +37,13 @@ local function initialize_builtin_statbars(player) if (hud_ids[name] == nil) then hud_ids[name] = {} + -- flags are not transmitted to client on connect, we need to make sure + -- our current flags are transmitted by sending them actively + player:hud_set_flags(player:hud_get_flags()) end - if player:hud_get_flags().healthbar then + if player:hud_get_flags().healthbar and + core.is_yes(core.setting_get("enable_damage")) then if hud_ids[name].id_healthbar == nil then health_bar_definition.number = player:get_hp() hud_ids[name].id_healthbar = player:hud_add(health_bar_definition) @@ -52,7 +56,8 @@ local function initialize_builtin_statbars(player) end if (player:get_breath() < 11) then - if player:hud_get_flags().breathbar then + if player:hud_get_flags().breathbar and + core.is_yes(core.setting_get("enable_damage")) then if hud_ids[name].id_breathbar == nil then hud_ids[name].id_breathbar = player:hud_add(breath_bar_definition) end @@ -118,7 +123,7 @@ local function player_event_handler(player,eventname) return false end -function minetest.hud_replace_builtin(name, definition) +function core.hud_replace_builtin(name, definition) if definition == nil or type(definition) ~= "table" or @@ -130,7 +135,7 @@ function minetest.hud_replace_builtin(name, definition) health_bar_definition = definition for name,ids in pairs(hud_ids) do - local player = minetest.get_player_by_name(name) + local player = core.get_player_by_name(name) if player and hud_ids[name].id_healthbar then player:hud_remove(hud_ids[name].id_healthbar) initialize_builtin_statbars(player) @@ -143,7 +148,7 @@ function minetest.hud_replace_builtin(name, definition) breath_bar_definition = definition for name,ids in pairs(hud_ids) do - local player = minetest.get_player_by_name(name) + local player = core.get_player_by_name(name) if player and hud_ids[name].id_breathbar then player:hud_remove(hud_ids[name].id_breathbar) initialize_builtin_statbars(player) @@ -155,6 +160,6 @@ function minetest.hud_replace_builtin(name, definition) return false end -minetest.register_on_joinplayer(initialize_builtin_statbars) -minetest.register_on_leaveplayer(cleanup_builtin_statbars) -minetest.register_playerevent(player_event_handler) +core.register_on_joinplayer(initialize_builtin_statbars) +core.register_on_leaveplayer(cleanup_builtin_statbars) +core.register_playerevent(player_event_handler)