2
0

state_enter.mcfunction 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # 要求系统进入状态 8(选择奖励)
  2. scoreboard players set $state mem 8
  3. execute as @a run function ltw:state/8/player_enter
  4. # HUD
  5. scoreboard objectives setdisplay belowName total_score_disp
  6. scoreboard objectives setdisplay sidebar total_score
  7. scoreboard objectives setdisplay list total_score_disp
  8. # 初始化地图
  9. forceload add 0 2000 50 2050
  10. kill @e[type=item]
  11. # 生成地图
  12. setblock 0 10 2000 minecraft:structure_block{mode:"LOAD",name:"ltw:select"}
  13. setblock 0 11 2000 minecraft:redstone_block
  14. # 生成奖励物品
  15. execute store result score $t_player_count mem if entity @a[tag=!watcher]
  16. # scoreboard players set $t_player_count mem 8
  17. execute if score $t_player_count mem matches 1.. positioned 9.0 12.5 2012.5 run function item:bonus_item/rank/random
  18. execute if score $t_player_count mem matches 2.. positioned 5.0 12.5 2012.5 run function item:bonus_item/rank/random
  19. execute if score $t_player_count mem matches 3.. positioned 1.5 12.5 2009.0 run function item:bonus_item/rank/random
  20. execute if score $t_player_count mem matches 4.. positioned 1.5 12.5 2005.0 run function item:bonus_item/rank/random
  21. execute if score $t_player_count mem matches 5.. positioned 5.0 12.5 2001.5 run function item:bonus_item/rank/random
  22. execute if score $t_player_count mem matches 6.. positioned 9.0 12.5 2001.5 run function item:bonus_item/rank/random
  23. execute if score $t_player_count mem matches 7.. positioned 12.5 12.5 2005.0 run function item:bonus_item/rank/random
  24. execute if score $t_player_count mem matches 8.. positioned 12.5 12.5 2009.0 run function item:bonus_item/rank/random
  25. # 生成拾取窗口
  26. execute as @e[type=item] at @s run fill ~-0.2 ~ ~-0.2 ~0.2 ~ ~0.2 air
  27. execute as @e[type=item] at @s run fill ~-0.2 ~1 ~-0.2 ~0.2 ~1 ~0.2 barrier
  28. # 防止幽灵实体,分 tick 执行
  29. schedule function ltw:state/8/state_enter2 1t
  30. # 判断进入下一轮小游戏或结束
  31. # execute if score $game_type mem matches 1 if score $round mem matches ..5 run function ltw:state/7/continue_gameparty
  32. # execute if score $game_type mem matches 1 if score $round mem matches 6.. run function ltw:main/game_end