try_start_gameparty.mcfunction 1.5 KB

123456789101112131415161718
  1. # 尝试开始小游戏模式
  2. # 计算玩家数量
  3. execute store result score $count mem if entity @a[tag=hub_ready]
  4. # 判断玩家数量过少
  5. execute if score $count mem matches ..1 as @a at @s run function lib:sounds/error
  6. execute if score $count mem matches ..1 run tellraw @a ["",{"text": ">> ","color":"red","bold": true},{"text": "需要至少 2 人以开始小游戏模式, 当前人数不足!","color":"red"}]
  7. execute if score $count mem matches ..1 run scoreboard players set $countdown mem 0
  8. # 判断玩家数量过多
  9. execute if score $count mem matches 9.. if score $countdown mem matches 10 run tellraw @a [{"text":"","color":"gold"},{"text":">> ","bold": true},"小游戏模式最多支持 8 人, 当前已有 ",{"score": { "name": "$count","objective": "mem"}}, " 人, 将随机抽取 8 人开始游戏!"]
  10. execute if score $count mem matches 9.. if score $countdown mem matches 1 run tellraw @a [{"text":"","color":"gold"},{"text":">> ","bold": true},"小游戏模式最多支持 8 人, 当前已有 ",{"score": { "name": "$count","objective": "mem"}}, " 人, 将随机抽取 8 人开始游戏!"]
  11. # 开始游戏
  12. execute if score $countdown mem matches 10 run tellraw @a [{"text":"","color":"green"},{"text": ">> ","bold": true},"即将开始小游戏模式, 请到准备区域准备, 若想旁观则请离开准备区域!"]
  13. execute if score $countdown mem matches 10 as @a at @s run function lib:sounds/levelup
  14. execute if score $countdown mem matches 1 run function ltw:state/0/start_gameparty