player_enter.mcfunction 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # 当玩家加入游戏时触发
  2. spawnpoint @s -12 7 -102
  3. advancement revoke @s only lib:damage_dealt
  4. advancement revoke @s only lib:damage_taken
  5. advancement revoke @s only item:container/place
  6. advancement revoke @s only item:special/consume_enchanted_apple
  7. advancement revoke @s only item:special/consume_golden_apple
  8. execute as @a at @s run function lib:sounds/hit
  9. # 存储UUID
  10. execute store result score @s UUID run data get entity @s UUID[0]
  11. # 如果是旁观者或局号不对头:开始旁观
  12. execute if entity @s[team=!playing] run function ltw:main/player_enter_watcher
  13. execute if entity @s[team=playing] unless score @s game_id = $ game_id run function ltw:main/player_enter_watcher
  14. # 如果不是旁观且局号正确:游戏中掉线
  15. execute if entity @s[team=playing] if score @s game_id = $ game_id run function ltw:main/player_enter_rejoin
  16. # 更新 Bossbar
  17. bossbar set ltw:notice players @a
  18. function lib:bossbar/show
  19. # 无指定人员
  20. # FIXME: 如果服务器异常关闭,玩家在再次加入的时候不会触发进入事件(由于没有离开游戏计数)
  21. # FIXME: 通过在每次进入阶段 3 时 kill 使用过不死图腾的玩家来解决不死图腾假死
  22. # FIXME: {贸易} 确认是否能进行三次交易?
  23. # FIXME: 如果玩家隐身,则不显示尾迹
  24. # 龙猫
  25. # TODO: {钻石/贸易} 减少水;分别刷出不同的额外方块;增加一个池子
  26. # TODO: {土豆} 移除黄色指示器
  27. # TODO: 确认玩家看不到隐身玩家
  28. # FIXME: 再次确认音乐 Bug,是否不能在同 tick 执行?
  29. # FIXME: {钻石} 玩家会列入钻石的记分板(由于在 belowName 里显示)
  30. # HIM
  31. # FIXME: 让老板不能通过修改触发器进行交易