Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.
Options:
#Style Options (&m܅)(|)(❤)(■)(▮)
Style: &m܅ # The style of choice
Length: 15 #Length Increases the amount of increments the health bar has
Height: 0.8 #how high or low the bar is
on death:
wait 1 ticks
if holo object "%entity uuid of victim%" exists:
set {_uuid} to entity uuid of victim
delete holo object "%entity uuid of victim%"
on explode:
#Creepers explode fix
if holo object "%entity uuid of event-entity%" exists:
set {_uuid} to uuid of event-entity
delete holo object "%entity uuid of event-entity%"
function UpdateBar(entity: entity):
wait 1 ticks
#We wait a tick to get updated health value's if attacking quickly
{_entity} is not a player
{_entity} is not a dropped item
{_entity} is not a projectile
{_entity} is not a armor stand
{_entity} is not a villager
set {_Euuid} to entity uuid of {_entity}
set {_Symbol} to "{@Style}"
set {_H} to hitbox length of {_entity}
set {_H} to {_H}+{@Height}
set {_CurHp} to health of {_entity}
set {_MaxHp} to max health of {_entity}
set {_hpAmount} to {_CurHp}/{_MaxHp}*{@Length}
set {_size} to {_hpAmount}
if holo object "%{_Euuid}%" exists:
wait 0 ticks
#Holo object exists doesnt have does not exists
else:
create bound holo object "" with id "%{_Euuid}%" to {_entity} offset by 0, {_h}, 0
if holo object "%{_Euuid}%" exists:
loop {_hpAmount} times:
add {_Symbol} to {_endresult::*}
add 1 to {_missing}
if {_endresult::*} isn't set:
set {_end} to ""
else:
set {_end} to "%{_endresult::*}%"
replace every "," with "" in {_end}
replace every " " with "" in {_end}
replace every "and" with "" in {_end}
if {_end} isn't set:
set {_end} to ""
set {_missAmount} to {@Length}-{_missing}
loop {_missAmount} times:
add {_Symbol} to {_missresult::*}
if {_missresult::*} isn't set:
set {_miss} to ""
else:
set {_miss} to "%{_missresult::*}%"
replace every "," with "" in {_miss}
replace every " " with "" in {_miss}
replace every "and" with "" in {_miss}
edit holo object "%{_Euuid}%" to "&a%{_end}%&c%{_miss}%"
#Creative fix for target
on damage:
if attacker is a player:
UpdateBar(victim)
if attacker's gamemode is creative:
if target of victim isn't set:
set target of victim to attacker
#Lets other damage update the bar EG : Fire/Poision/Fall Damage
on damage:
if holo object "%entity uuid of victim%" exists:
UpdateBar(victim)
#Removes the bar on untarget
on untarget:
set {_uuid} to uuid of entity
wait 5 ticks
if target of entity is not set:
delete holo object "%entity uuid of entity%"
#If entiy is targeting a player spawn's the bar
#Much nicer to see a full health bar then begin to get lower as you attack
on target:
if target of entity is a player:
UpdateBar(entity)
#World edit butcher fix for bar's not being removed
on command "/butcher":
loop all living entities:
if holo object "%entity uuid of loop-value%" exists:
set {_uuid} to uuid of loop-value
delete holo object "%entity uuid of loop-value%"
#Despawn mob's / unloaded chunk removal of health bar's
on chunk unload:
loop entities of event-chunk:
loop-value is not a player
loop-value is not a dropped item
loop-value is not a projectile
loop-value is not a armor stand
loop-value is not a villager
if holo object "%entity uuid of loop-value%" exists:
set {_uuid} to uuid of loop-value
delete holo object "%entity uuid of loop-value%"