player_enter.mcfunction 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # 当玩家加入游戏时触发
  2. spawnpoint @s -12 7 -102
  3. # TODO: v0.3 升级函数
  4. execute if entity @s[tag=!v02upgrade,scores={stat_total=1..}] run function ltw:main/player_upgrade
  5. tag @s add v02upgrade
  6. advancement revoke @s only lib:damage_dealt
  7. advancement revoke @s only lib:damage_taken
  8. advancement revoke @s only item:container/place
  9. advancement revoke @s only item:special/consume_enchanted_apple
  10. advancement revoke @s only item:special/consume_golden_apple
  11. execute as @a at @s run function lib:sounds/hit
  12. # 存储UUID
  13. execute store result score @s UUID run data get entity @s UUID[0]
  14. # 如果是旁观者或局号不对头:开始旁观
  15. execute if entity @s[team=!playing] run function ltw:main/player_enter_watcher
  16. execute if entity @s[team=playing] unless score @s game_id = $ game_id run function ltw:main/player_enter_watcher
  17. # 如果不是旁观且局号正确:游戏中掉线
  18. execute if entity @s[team=playing] if score @s game_id = $ game_id run function ltw:main/player_enter_rejoin
  19. # 更新 Bossbar
  20. bossbar set ltw:notice players @a
  21. function lib:bossbar/show
  22. # TODO: https://shimo.im/docs/8dQtWhYp8rJhRRWG
  23. # FIXME: <! 重要> 可以用钓鱼竿获得两个奖励
  24. # TODO: [LTCat/HIM] 土豆的两个炸弹同时爆炸把两个人炸死,让他们俩并列第三(按存活回合数记分)
  25. # FIXME: [LTCat] BGM 可能会双响
  26. # FIXME: 关掉 JourneyMap 的生物雷达
  27. # FIXME: <! 重要> 在未知情况下会跳过第二轮直接进入第三轮