start_game.mcfunction 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # 开始游戏
  2. # 停止 BGM
  3. scoreboard players set @s music 0
  4. function lib:music/refresh
  5. # 确认实际玩家,给予 selected_player 标签
  6. tag @a remove status_player
  7. tag @a[team=hub_play,sort=random,limit=8] add selected_player
  8. # 发送通知
  9. tellraw @a[team=hub_play,tag=!selected_player] [{"text":" ✖ ","color":"red"}," 很遗憾, 你没有被选中参与, 将会旁观本局游戏!"]
  10. tellraw @a[team=hub_play,tag=selected_player] [{"text":" ","color":"green"},{"text":"✔","bold":true}," "," 游戏开始!"]
  11. tellraw @a[team=hub_watch] [{"text":" ❇ ","color":"green"}," 游戏开始, 你将旁观本局游戏!"]
  12. tellraw @a[team=debug] [{"text":" ❇ ","color":"aqua"}," 你处于 Debug 模式中, 不会受游戏开始影响!"]
  13. # 将玩家分为 debug、watch、无队伍 三种
  14. team join watch @a[team=!debug,tag=!selected_player]
  15. team leave @a[team=!debug,team=!watch]
  16. # 初始化轮数
  17. scoreboard players set $round mem 1
  18. # 初始化游戏与玩家 ID
  19. scoreboard players add $ game_id 1
  20. scoreboard players operation @a game_id = $ game_id
  21. scoreboard players set @a[team=] player_id 0
  22. scoreboard players set $player_id mem 0
  23. execute if entity @a[team=,scores={player_id=0}] run function ltw:state/0/sp/set_player_id
  24. # 初始化物品
  25. clear @a[team=]
  26. # TODO: 未完成的重构
  27. # 初始化分数
  28. # 开始小游戏
  29. function ltw:state/0/state_enter