Bossbars: Add support for non-mob bosses
This commit is contained in:
parent
2313012f60
commit
af044e6a96
|
@ -76,16 +76,23 @@ function mcl_bossbars.update_bar(id, def, priority)
|
|||
old.priority = priority or old.priority
|
||||
end
|
||||
|
||||
function mcl_bossbars.update_boss(luaentity, name, color)
|
||||
local object = luaentity.object
|
||||
function mcl_bossbars.update_boss(object, name, color)
|
||||
local props = object:get_luaentity()
|
||||
if not props or not props._cmi_is_mob then
|
||||
props = object:get_properties()
|
||||
props.health = object:get_hp()
|
||||
end
|
||||
|
||||
local bardef = {
|
||||
text = luaentity.nametag,
|
||||
percentage = math.floor(luaentity.health / luaentity.hp_max * 100),
|
||||
color = color,
|
||||
text = props.nametag,
|
||||
percentage = math.floor(props.health / props.hp_max * 100),
|
||||
}
|
||||
|
||||
if not bardef.text or bardef.text == "" then
|
||||
bardef.text = name
|
||||
end
|
||||
|
||||
local pos = object:get_pos()
|
||||
for _, player in pairs(minetest.get_connected_players()) do
|
||||
local d = vector.distance(pos, player:get_pos())
|
||||
|
|
Loading…
Reference in New Issue