Browse Source

Fix error when `item` isn't provided to core.hud_replace_builtin (#12484)

rubenwardy 1 year ago
parent
commit
b095dc4f2b
1 changed files with 4 additions and 1 deletions
  1. 4 1
      builtin/game/statbars.lua

+ 4 - 1
builtin/game/statbars.lua

@@ -138,13 +138,15 @@ local function player_event_handler(player,eventname)
 end
 
 function core.hud_replace_builtin(hud_name, definition)
-
 	if type(definition) ~= "table" or
 			definition.hud_elem_type ~= "statbar" then
 		return false
 	end
 
+	definition = table.copy(definition)
+
 	if hud_name == "health" then
+		definition.item = definition.item or definition.number or core.PLAYER_MAX_HP_DEFAULT
 		bar_definitions.hp = definition
 
 		for name, ids in pairs(hud_ids) do
@@ -159,6 +161,7 @@ function core.hud_replace_builtin(hud_name, definition)
 	end
 
 	if hud_name == "breath" then
+		definition.item = definition.item or definition.number or core.PLAYER_MAX_BREATH_DEFAULT
 		bar_definitions.breath = definition
 
 		for name, ids in pairs(hud_ids) do