tick1.mcfunction 1.6 KB

1234567891011121314151617181920212223242526
  1. # 检测玩家对玩家造成0点以上伤害
  2. execute if entity @a[tag=damage_dealt] if entity @a[tag=damage_taken,scores={damage_taken=0..}] unless entity @a[tag=damage_dealt,tag=damage_taken] run function lib:damage_indicator/player_hurt_player
  3. # 检测玩家对玩家造成0点伤害
  4. execute if entity @a[tag=damage_dealt] if entity @a[tag=damage_taken] unless entity @a[scores={damage_taken=0..}] unless entity @a[tag=damage_dealt,tag=damage_taken] run function lib:damage_indicator/player_hurt_player2
  5. # 检测玩家对自己造成0点以上伤害
  6. execute if entity @a[tag=damage_dealt,tag=damage_taken,scores={damage_taken=0..}] run function lib:damage_indicator/player_hurt_self
  7. # 检测玩家对自己造成0点伤害
  8. execute if entity @a[tag=damage_dealt,tag=damage_taken] unless entity @a[tag=damage_dealt,tag=damage_taken,scores={damage_taken=0..}] run function lib:damage_indicator/player_hurt_self2
  9. # 检测玩家因特殊原因受到0点以上伤害
  10. execute if entity @a[tag=damage_taken,scores={damage_taken=0..}] unless entity @a[tag=damage_dealt] run function lib:damage_indicator/self_hurt
  11. # 检测玩家因特殊原因受到0点伤害
  12. execute if entity @a[tag=damage_taken] unless entity @a[tag=damage_dealt] unless entity @a[tag=damage_taken,scores={damamge_taken=0..}] run function lib:damage_indicator/self_hurt2
  13. # 重置tag
  14. tag @a[tag=damage_taken] remove damage_taken
  15. tag @a[tag=damage_dealt] remove damage_dealt
  16. # 重置分数
  17. scoreboard players set @a[scores={damage_taken=0..}] damage_counter1 0
  18. scoreboard players set @a[scores={damage_taken=0..}] damage_counter2 0
  19. scoreboard players reset @a[scores={damage_taken=0..}] damage_taken