player_enter.mcfunction 1.6 KB

12345678910111213141516171819202122232425262728293031
  1. # 当玩家加入游戏时触发
  2. advancement revoke @s only lib:damage_dealt
  3. advancement revoke @s only lib:damage_taken
  4. advancement revoke @s only item:container/place
  5. advancement revoke @s only item:special/consume_enchanted_apple
  6. advancement revoke @s only item:special/consume_golden_apple
  7. execute as @a at @s run function lib:sounds/hit
  8. # 存储UUID
  9. execute store result score @s UUID run data get entity @s UUID[0]
  10. # 如果是旁观者或局号不对头:开始旁观
  11. execute if entity @s[team=watching] run function ltw:main/player_enter_watcher
  12. execute if entity @s[team=playing] unless score @s game_id = $ game_id run function ltw:main/player_enter_watcher
  13. # 如果不是旁观且局号正确:游戏中掉线
  14. execute if entity @s[team=playing] if score @s game_id = $ game_id run function ltw:main/player_enter_rejoin
  15. # 更新 Bossbar
  16. bossbar set ltw:notice players @a
  17. function lib:bossbar/show
  18. # TODO: https://shimo.im/docs/8dQtWhYp8rJhRRWG
  19. # FIXME: <! 重要> [010] 已确认确实可以用钓鱼竿获得两个奖励
  20. # TODO: [LTCat/HIM] 土豆的两个炸弹同时爆炸把两个人炸死,让他们俩并列第三(按存活回合数记分)
  21. # FIXME: 旁观者在一轮开始时会被切换为冒险模式又切回去,这会造成游戏模式变更提示,鬼知道为啥
  22. # FIXME: <! 重要> [010] 如果有人没领取奖励,可以一直站在上面,在奖励领取阶段结束时再拿到一次
  23. # FIXME: 准备倒计时与 Tooltip 降低不一致
  24. # FIXME: 修复 钻石风暴 spreadplayers 无效
  25. # FIXME: <! 重要> [HIM] 修复死亡判定可能失效