① 检测部分
a. 扔雪球检测和菜单项变更(通用)
只检测刚产生的雪球:若第一次检测没能在雪球位置发现玩家,则在之后的检测中雪球也不会发挥作用。
★ 扔雪球检测部对应1~5:为玩家添加标签Menu_next → 补充雪球 → 重置计时 → 清除已作用的雪球 → 无效化全部雪球
1:execute @e[type=snowball,tag=!Menu_deactivatedSnowBall]~~~ tag @p[r=2,tag=!Menu_deactivatedPlayer]add Menu_next
2:execute @e[type=snowball,tag=!Menu_deactivatedSnowBall]~~~ give @p[r=2,tag=!Menu_deactivatedPlayer]snowball 1
3:execute @e[type=snowball,tag=!Menu_deactivatedSnowBall]~~~ scoreboard players reset @p[r=2,tag=!Menu_deactivatedPlayer] Menu_time
4:execute @a[tag=Menu_next] ~~~ kill@e[r=2,type=snowball]
5:tag @e[type=snowball,tag=!Menu_deactivatedSnowBall]add Menu_deactivatedSnowBall
★ 菜单项变更对应6~10:抬头减1 → 向前看 执行 → 低头加1 → 向地看退出 → 结束操作
6:scoreboard playersremove @a[tag=Menu_next,tag=!Menu_deactivatedPlayer,rx=-30] Menu_item 1
7:tag @a[tag=Menu_next,tag=!Menu_deactivatedPlayer,rx=30,rxm=-30]add Menu_execute
8:scoreboard playersadd @a[tag=Menu_next,tag=!Menu_deactivatedPlayer,rx=89.5,rxm=30] Menu_item 1
9:tag @a[tag=Menu_next,tag=!Menu_deactivatedPlayer,rxm=89.5]add Menu_quit
10:tag @a[tag=Menu_next,tag=!Menu_deactivatedPlayer]remove Menu_next
a. 扔雪球检测和菜单项变更(通用)
只检测刚产生的雪球:若第一次检测没能在雪球位置发现玩家,则在之后的检测中雪球也不会发挥作用。
★ 扔雪球检测部对应1~5:为玩家添加标签Menu_next → 补充雪球 → 重置计时 → 清除已作用的雪球 → 无效化全部雪球1:execute @e[type=snowball,tag=!Menu_deactivatedSnowBall]~~~ tag @p[r=2,tag=!Menu_deactivatedPlayer]add Menu_next
2:execute @e[type=snowball,tag=!Menu_deactivatedSnowBall]~~~ give @p[r=2,tag=!Menu_deactivatedPlayer]snowball 1
3:execute @e[type=snowball,tag=!Menu_deactivatedSnowBall]~~~ scoreboard players reset @p[r=2,tag=!Menu_deactivatedPlayer] Menu_time
4:execute @a[tag=Menu_next] ~~~ kill@e[r=2,type=snowball]
5:tag @e[type=snowball,tag=!Menu_deactivatedSnowBall]add Menu_deactivatedSnowBall
★ 菜单项变更对应6~10:抬头减1 → 向前看 执行 → 低头加1 → 向地看退出 → 结束操作
6:scoreboard playersremove @a[tag=Menu_next,tag=!Menu_deactivatedPlayer,rx=-30] Menu_item 1
7:tag @a[tag=Menu_next,tag=!Menu_deactivatedPlayer,rx=30,rxm=-30]add Menu_execute
8:scoreboard playersadd @a[tag=Menu_next,tag=!Menu_deactivatedPlayer,rx=89.5,rxm=30] Menu_item 1
9:tag @a[tag=Menu_next,tag=!Menu_deactivatedPlayer,rxm=89.5]add Menu_quit
10:tag @a[tag=Menu_next,tag=!Menu_deactivatedPlayer]remove Menu_next
★ 比较无操作时间与进入时间 → 令Menu_time>timeout的玩家退出菜单(此时Menu_time>=0)→ 处理时间(没有退出菜单的玩家的恢复先前值)
★ 比较抬头时间与进入时
添加tag → 菜单项设为0 → 给雪球 → 移除通常状态的tag → 完成操作
显示退出信息 → 添加通常标签 → 重置时钟 → 移除子菜单标签 → 移除退出标签
[0] 跳转至子菜单 “board”
a. 通常钟:

添加子菜单tag → 菜单项设为0 → 执行完成(因为没主菜单tag了,尾部的删不掉) → 删除主菜单tag
显示退出信息 → 添加通常标签 → 重置时钟 → 移除子菜单标签 → 移除退出标签










