player_hurt_self.mcfunction 1.3 KB

1234567891011121314151617181920
  1. # 重置判定值
  2. scoreboard players set 除数 damage_counter1 10
  3. # 分数运算
  4. execute as @a[scores={damage_taken=0..},tag=damage_taken] run scoreboard players operation @s damage_counter1 = @s damage_taken
  5. execute as @a[scores={damage_taken=0..},tag=damage_taken] run scoreboard players operation @s damage_counter2 = @s damage_taken
  6. execute as @a[scores={damage_taken=0..},tag=damage_taken] run scoreboard players operation @s damage_counter1 /= 除数 damage_counter1
  7. execute as @a[scores={damage_taken=0..},tag=damage_taken] run scoreboard players operation @s damage_counter2 %= 除数 damage_counter1
  8. # 进行受伤提示
  9. tellraw @a[tag=damage_taken,tag=damage_dealt,scores={damage_taken=0..}] [{"text":"[!] ","color":"red"},{"text":"你对自己造成了","color":"white"},{"color":"red","score":{"name":"@a[tag=damage_taken,scores={damage_taken=0..}]","objective":"damage_counter1"}},{"text":".","color":"red"},{"color":"red","score":{"name":"@a[tag=damage_taken,scores={damage_taken=0..}]","objective":"damage_counter2"}},{"text":"点伤害","color":"white"}]
  10. # 重置分数
  11. scoreboard players set @a[tag=damage_taken] damage_counter1 0
  12. scoreboard players set @a[tag=damage_taken] damage_counter2 0
  13. scoreboard players reset @a[tag=damage_taken] damage_taken
  14. # 重置tag
  15. tag @a[tag=damage_taken] remove damage_taken
  16. tag @a[tag=damage_dealt] remove damage_dealt