player_enter.mcfunction 1.1 KB

12345678910111213141516171819202122232425
  1. # 当玩家加入游戏时触发
  2. team join player @s
  3. bossbar set ltw:notice players @a
  4. advancement revoke @s only lib:damage_dealt
  5. advancement revoke @s only lib:damage_taken
  6. advancement revoke @s only item:container/place
  7. advancement revoke @s only item:special/consume_enchanted_apple
  8. advancement revoke @s only item:special/consume_golden_apple
  9. execute as @a at @s run function lib:sounds/hit
  10. # 存储UUID
  11. execute store result score @s UUID run data get entity @s UUID[0]
  12. # 如果是旁观者或局号不对头:开始旁观
  13. execute if entity @s[tag=watcher] run function ltw:main/player_enter_watcher
  14. execute if entity @s[tag=!watcher] unless score @s game_id = $ game_id run function ltw:main/player_enter_watcher
  15. # 如果不是旁观且局号正确:游戏中掉线
  16. execute if entity @s[tag=!watcher] if score @s game_id = $ game_id run function ltw:main/player_enter_rejoin
  17. # FIXME: [HIM] 旁观者可能会有一个灰色染料一直 tp 他
  18. # FIXME: 游戏结束时 kill 老板会有猪叫
  19. # FIXME: [HIM] 你可以打开背包把物品丢出去
  20. # TODO: 新的统计信息显示