❤️ Health#
#bs.health:help
Efficiently manage the lifecycle and vital aspects of an entity.
“He who has a why to live can bear almost any how.”
—Friedrich Nietzsche
About NBTs
When using the module, you cannot rely on NBTs to get health information. Use the get_health
and get_max_health
functions instead. This is because NBTs may not consistently reflect actual values. This choice was made to enhance performance, reliability, and to work around some limitations.
🔧 Functions#
You can find below all functions available in this module.
Add / Remove#
- #bs.health:add_health {points:<value>}
Add or remove health points from players.
- Inputs:
Execution
as <players>
: Players whose health will be updated.Function macro:
- Arguments
- points: Health points to add to players.
- Arguments
- Outputs:
State: Health is scheduled for update.
Heal yourself by 5 HP:
# Once (execute on you)
function #bs.health:add_health {points:5.0}
How to remove
You can use negative numbers to remove health points from the player.
- #bs.health:add_max_health {points:<value>}
Add or remove maximum health points from players.
- Inputs:
Execution
as <players>
: Players whose max health will be updated.Function macro:
- Arguments
- points: Max health points to add to players.
- Arguments
- Outputs:
State: Max health is scheduled for update.
Increase your max HP by 5:
# Once (execute on you)
function #bs.health:add_max_health {points:5.0}
How to remove
You can use negative numbers to remove max health from the player.
Credits: Aksiome
Get#
- #bs.health:get_health {scale:<scaling>}
Get a player’s health points.
- Inputs:
Execution
as <players>
: Players from which you want to get health points.Function macro:
- Arguments
- scale: Scalar for the function’s returned value.
- Arguments
- Outputs:
Return | Storage
bs:out health.get_health
: Player’s health points.
Get your current HP (scaled by 1000):
# See the returned value (execute on you)
function #bs.health:get_health {scale:1000}
- #bs.health:get_max_health {scale:<scaling>}
Get a player’s maximum health points.
- Inputs:
Execution
as <players>
: Players from which you want to get max health points.Function macro:
- Arguments
- scale: Scalar for the function’s returned value.
- Arguments
- Outputs:
Return | Storage
bs:out health.get_max_health
: Player’s max health points.
Get your maximum HP (scaled by 1000):
# See the returned value (execute on you)
function #bs.health:get_max_health {scale:1000}
Credits: Aksiome
Set#
- #bs.health:set_health {points:<value>}
Set players health points.
- Inputs:
Execution
as <players>
: Players whose health will be updated.Function macro:
- Arguments
- points: Health points.
- Arguments
- Outputs:
State: Health is scheduled for update.
Set your HP to 10:
# Once (execute on you)
function #bs.health:set_health {points:5.0}
- #bs.health:set_max_health {points:<value>}
Set players maximum health points.
- Inputs:
Execution
as <players>
: Players whose max health will be updated.Function macro:
- Arguments
- points: Max health points.
- Arguments
- Outputs:
State: Max health is scheduled for update.
Set your max HP to 10:
# Once (execute on you)
function #bs.health:set_max_health {points:5.0}
Credits: Aksiome
Time to live#
- #bs.health:time_to_live {with:{}}
Set the life time of entities.
- Inputs:
Execution
as <entities>
: Entities to add a life time to.Function macro:
- Arguments
- with: Life time data.
- time: Time to live. In ticks by default if unit is not defined.
- unit: Unit of the specified time (tick, second, minute, hour, t, s, m, h).
- on_death: Command that will be run as the entity on its death.
- with: Life time data.
- Arguments
- Outputs:
State: The entity has now a finite life time.
Give creepers a 10 seconds life time:
# Once
execute as @e[type=minecraft:creeper] run function #bs.health:time_to_live {with:{time:10,unit:"s"}}
Give an explosion effect to creepers at the end of their life:
# Once
execute as @e[type=minecraft:creeper] run function #bs.health:time_to_live {with:{time:10,on_death:"execute at @s run particle minecraft:explosion_emitter ~ ~ ~"}}
Update the on_death callback at any given time:
# Once
execute as @e[type=minecraft:creeper] run function #bs.health:time_to_live {with:{time:100,on_death:"execute at @s run particle minecraft:explosion_emitter ~ ~ ~"}}
# At any time before the entity's death
execute as @e[type=minecraft:creeper,limit=1] run function #bs.health:time_to_live {with:{on_death:"say GOTCHA"}}
Credits: Aksiome, Leirof
💬 Did it help you?
Feel free to leave your questions and feedbacks below!