Damage (v0.2.0)#
Caution
This library is deprecated as of Minecraft 1.20 with the introduction of the /damage command.
This library implements complex damage calculation math in order to emulate applying damage to both players and entities
Library Function |
Description |
|---|---|
|
Applies damage from the score |
|
Does the same as |
|
Does the same as |
|
Does the same as |
#smithed.damage:entity/apply*#
Note, the interface for all of the functions above are the same
Input Name |
Input Type |
Input Source |
Input Objective/Path |
|---|---|---|---|
'Amount of damage' |
score |
@s |
smithed.damage |
This function applies the specified amount of damage in half-hearts to the executing entity.
scoreboard players set @s smithed.damage 3 # Does 1.5 damage (3 half-hearts)
function #smithed.damage:entity/apply # Apply the damage
To apply damage that respects armor, use their specific commands:
function #smithed.damage:entity/apply/armor: Respects armor, protection, and resistancefunction #smithed.damage:entity/apply/explosion: Respects the same asarmor, but blast protection as wellfunction #smithed.damage:entity/apply/projectile: Respects the same asarmor, but projectile protection as well
Custom Death Messages Events#
Damage Events#
Player damage events happen when a player is damaged.
You can add damage events by adding your function to the tag #smithed.damage:event/player/on_damage.
This library tracks the type of damage dealt to the player and stores it as a string in data storage smithed.damage:main io.damage.type.
The following damage types are as follows:
'generic''bypass_armor''bypasses_invulnerability''bypasses_magic''is_explosion''is_fire''is_lightning''is_magic'
Example Implementation#
function: example:damage_event
# give players with the fireproof tag fire resistance if they took damage by fire
execute
if entity @s[tag=fireproof]
if data storage smithed.damage:main {io.damage.type: 'is_fire'}
run effect give @s fire_resistance 10 0 true
tag: #smithed.damage:event/player/on_damage
{
"values": [
"example:damage_event"
]
}