game_end.mcfunction 1.5 KB

123456789101112131415161718
  1. # 小游戏结束
  2. execute if score $mini_type mem matches 1 run function mini:parkour/game_end
  3. execute if score $mini_type mem matches 2 run function mini:tntrun/game_end
  4. # 计算排名
  5. scoreboard players set $mini_score_max mini_score -2147483648
  6. execute as @a unless score @s mini_score matches -1 if score @s mini_score > $mini_score_max mini_score run scoreboard players operation $mini_score_max mini_score = @s mini_score
  7. execute as @a unless entity @a[tag=mini_rank_1] if score @s mini_score = $mini_score_max mini_score run tag @s add mini_rank_1
  8. scoreboard players set $mini_score_max mini_score -2147483648
  9. execute as @a[tag=!mini_rank_1] unless score @s mini_score matches -1 if score @s mini_score > $mini_score_max mini_score run scoreboard players operation $mini_score_max mini_score = @s mini_score
  10. execute as @a[tag=!mini_rank_1] unless entity @a[tag=mini_rank_2] if score @s mini_score = $mini_score_max mini_score run tag @s add mini_rank_2
  11. scoreboard players set $mini_score_max mini_score -2147483648
  12. execute as @a[tag=!mini_rank_1,tag=!mini_rank_2] unless score @s mini_score matches -1 if score @s mini_score > $mini_score_max mini_score run scoreboard players operation $mini_score_max mini_score = @s mini_score
  13. execute as @a[tag=!mini_rank_1,tag=!mini_rank_2] unless entity @a[tag=mini_rank_3] if score @s mini_score = $mini_score_max mini_score run tag @s add mini_rank_3
  14. tag @a[tag=!mini_rank_1,tag=!mini_rank_2,tag=!mini_rank_3] add mini_rank_4
  15. # 进入状态 6
  16. function ltw:state/6/state_enter