2
0

player_enter.mcfunction 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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: 可以用钓鱼竿获得两个奖励,在阶段 7 kill 钓鱼竿浮标即可
  24. # TODO: 土豆 按存活回合数记分(两个炸弹同时爆炸把两个人炸死可以并列)
  25. # FIXME: [LTCat] BGM 可能会双响
  26. # FIXME: 关掉 JourneyMap 的生物雷达
  27. # FIXME: <! 重要> 在未知情况下会跳过某轮直接进入下一轮
  28. # TODO: 逐个游戏检查中途退出重进是否造成 Bug
  29. # TODO: 逐个游戏检查是否在开始时清理了实体
  30. # TODO: [LTCat] 幻翼 在玩家第一次到达半血时显示回血的提示
  31. # TODO: [LTCat] 开始游戏倒计时音效似乎有 1/4s 误差?*
  32. # TODO: [HIM] 重新处理主大厅的物品给予,在格子上显示固定的物品
  33. # TODO: 跑酷 为已获取的宝藏标识新的粒子,并显示提示
  34. # TODO: TNTRun 检查场地是否造成了太多的粒子效果,并在特定电脑造成了卡顿
  35. # TODO: [LTCat] 钻石 重新考虑是否显示玩家的钻石数——现在这样似乎降低了玩家在最终阶段的攻击欲望
  36. # FIXME: [HIM] 在游戏中也可以通过打开物品栏丢出奇怪的游戏内物品,得想个办法进行限制
  37. # TODO: [LTCat] 增加文本可读性
  38. # FIXME: [LTCat] 玩家层数记分板可能会闪烁*
  39. # TODO: 钻石 为钻石掉落物添加发光效果