player_enter.mcfunction 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. # 无指定人员
  23. # FIXME: 关掉 JourneyMap 的生物雷达
  24. # TODO: {土豆} 按存活回合数记分(两个炸弹同时爆炸把两个人炸死可以并列)
  25. # TODO: {TNTRun} 有多人汇报存在严重卡顿,检查是否是场地的粒子造成,或者是游戏中的光照更新、实体、方块变化
  26. # 龙猫
  27. # FIXME: BGM 可能会双响
  28. # TODO: 增加文本可读性
  29. # TODO: {幻翼} 在玩家第一次到达半血时显示回血的提示
  30. # HIM
  31. # TODO: {色彩} 添加极少量钻石(然后让龙猫在最上面加个奖励物品)
  32. # FIXME: 主大厅打开物品栏长按 Q 高概率导致物品消失
  33. # 010
  34. # TODO: 支持 “随机获得 2 个绿色物品” 这种类型的奖励(指定 LootTable 名称和运行次数)
  35. # TODO: 升级 1.16.5(不过得先等 OptiFine 更新)
  36. # TODO: {幻翼} 制作幻翼的成品地图