state_enter.mcfunction 1.9 KB

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