
一、命令方块摆放如图所示
复制指令前请先查看文末的“常见问题解答”,以提前规避可能发生的问题,例如“离远了没有用”“回城原地罚站”等。

二、聊天栏输入前置指令
/scoreboard objectives add 雪球菜单 dummy
/gamerule commandblockoutput false
/gamerule sendcommandfeedback false
三、命令方块内输入指令
(一) 雪球菜单运行
1.【循环|无条件|保持开启|延迟0】
/replaceitem entity @a slot.hotbar 8 destroy snowball 16 0 {"minecraft:item_lock":{"mode":"lock_in_slot"}}
2.【连锁|无条件|保持开启|延迟0】
/execute at @e[type=snowball] run scoreboard players add @p[r=2] 雪球菜单 1
3.【连锁|无条件|保持开启|延迟0】
/execute at @e[type=snowball] run playsound random.orb @p[r=2]
4.【连锁|无条件|保持开启|延迟0】
/execute at @a[scores={雪球菜单=1..}] run kill @e[type=snowball,c=1,r=2]
5.【连锁|无条件|保持开启|延迟0】
/execute as @a[scores={雪球菜单=1..6}] run titleraw @s actionbar {"rawtext":[{"text":"§l§b 『雪球菜单』\n▶==================◀\n"},{"translate":"%%2","with":{"rawtext":[{"selector":"@s[scores={雪球菜单=1}]"},{"text":" §6"},{"text":" §e"}]}},{"text":"①.『传送主城』\n"},{"translate":"%%2","with":{"rawtext":[{"selector":"@s[scores={雪球菜单=2}]"},{"text":" §6"},{"text":" §e"}]}},{"text":"②.『原地去世』\n"},{"translate":"%%2","with":{"rawtext":[{"selector":"@s[scores={雪球菜单=3}]"},{"text":" §6"},{"text":" §e"}]}},{"text":"③.『生存模式』\n"},{"translate":"%%2","with":{"rawtext":[{"selector":"@s[scores={雪球菜单=4}]"},{"text":" §6"},{"text":" §e"}]}},{"text":"④.『设重生点』\n"},{"translate":"%%2","with":{"rawtext":[{"selector":"@s[scores={雪球菜单=5}]"},{"text":" §6"},{"text":" §e"}]}},{"text":"⑤.『发起传送』\n"},{"translate":"%%2","with":{"rawtext":[{"selector":"@s[scores={雪球菜单=6}]"},{"text":" §6"},{"text":" §e"}]}},{"text":"⑥.『接受传送』\n"},{"text":"§b▶==================◀\n§a抬头确定✔§c低头关闭✘\n\n\n\n\n"}]}
6.【连锁|无条件|保持开启|延迟0】
/scoreboard players set @a[scores={雪球菜单=7..}] 雪球菜单 1
7.【连锁|无条件|保持开启|延迟0】
/title @a[scores={雪球菜单=!0},rxm=88] actionbar §l§cMenu Off§f | §7已关闭
8.【连锁|无条件|保持开启|延迟0】
/execute as @a[scores={雪球菜单=!0},rxm=88] at @s run playsound random.levelup @s ~~~ 1 1.5
9.【连锁|无条件|保持开启|延迟0】
/scoreboard players set @a[scores={雪球菜单=!0},rxm=88] 雪球菜单 0
(二) 雪球菜单功能
1.【循环|无条件|保持开启|延迟0】
/tp @a[scores={雪球菜单=1},rx=-88] 5000 70 5000
(这里的5000 70 5000就是主城坐标,需要你自己修改)
2.【连锁|无条件|保持开启|延迟0】
/title @a[scores={雪球菜单=1},rx=-88] actionbar §l§b回城成功
3.【连锁|无条件|保持开启|延迟0】
/kill @a[scores={雪球菜单=2},rx=-88]
4.【连锁|无条件|保持开启|延迟0】
/title @a[scores={雪球菜单=2},rx=-88] actionbar §l§c去世成功
5.【连锁|无条件|保持开启|延迟0】
/gamemode 0 @a[scores={雪球菜单=3},rx=-88]
6.【连锁|无条件|保持开启|延迟0】
/title @a[scores={雪球菜单=3},rx=-88] actionbar §l§a已变为生存模式
7.【连锁|无条件|保持开启|延迟0】
/spawnpoint @a[scores={雪球菜单=4},rx=-88]
8.【连锁|无条件|保持开启|延迟0】
/title @a[scores={雪球菜单=4},rx=-88] actionbar §l§6设置成功
9.【连锁|无条件|保持开启|延迟0】
/execute if entity @a[scores={传送=1}] as @a[scores={雪球菜单=5},rx=-88] run title @s actionbar §l§c互传通道已被占用
10.【连锁|无条件|保持开启|延迟0】
/execute unless entity @a[scores={传送=1}] as @a[scores={雪球菜单=5},rx=-88] run tellraw @a {"rawtext":[{"text":"§l〈§d世界公告§f〉§r玩家§b"},{"selector":"@s"},{"text":"§r发起了传送请求\n§7----------------------------\n§b●§7 打开雪球菜单接受传送请求\n§b●§7 60秒后无人同意自动取消传送\n§b●§7 发起传送者低头可取消传送\n----------------------------"}]}
11.【连锁|无条件|保持开启|延迟0】
/execute unless entity @a[scores={传送=1}] as @a[scores={雪球菜单=5},rx=-88] run scoreboard objectives add 传送 dummy
12.【连锁|无条件|保持开启|延迟0】
/execute unless entity @a[scores={传送=1}] as @a[scores={雪球菜单=5},rx=-88] run scoreboard players set 计时 雪球菜单 60
13.【连锁|无条件|保持开启|延迟0】
/execute unless entity @a[scores={传送=1}] as @a[scores={雪球菜单=5},rx=-88] run scoreboard players set @s 传送 1
14.【连锁|无条件|保持开启|延迟0】
/execute if entity @a[scores={传送=1}] as @a[scores={雪球菜单=6},rx=-88] run tellraw @a {"rawtext":[{"text":"§l〈§d世界公告§f〉§r已成功将玩家§b"},{"selector":"@a[scores={传送=1}]"},{"text":"§r传送至§b"},{"selector":"@s"}]}
15.【连锁|无条件|保持开启|延迟0】
/tp @a[scores={传送=1}] @a[scores={雪球菜单=6},rx=-88]
16.【连锁|有条件|保持开启|延迟0】
/scoreboard objectives remove 传送
17.【连锁|无条件|保持开启|延迟0】
/scoreboard players set @a[scores={雪球菜单=1..6},rx=-88] 雪球菜单 0
(三) 处理传送超时与低头取消传送
1.【循环|无条件|红石控制|延迟20】
/execute if score 计时 雪球菜单 matches 0..60 run scoreboard players remove 计时 雪球菜单 1
2.【连锁|无条件|保持开启|延迟0】
/execute if score 计时 雪球菜单 matches ..-1 run scoreboard objectives remove 传送
3.【连锁|有条件|保持开启|延迟0】
/tellraw @a {"rawtext":[{"text":"§l〈§d世界公告§f〉§r超时无人同意或发起传送者离线,已自动取消传送请求。"}]}
4.【连锁|无条件|保持开启|延迟0】
/execute as @a[scores={传送=1},rxm=88] run tellraw @a {"rawtext":[{"text":"§l〈§d世界公告§f〉§r玩家§b"},{"selector":"@s"},{"text":"§r已取消传送请求。"}]}
5.【连锁|无条件|保持开启|延迟0】
/execute as @a[scores={传送=1},rxm=88] run scoreboard objectives remove 传送
① 问:为什么雪球菜单离远了就没有用了?
答:因为你没有设置常加载区域。如果你希望命令方块全图都有效,那就要把它们放置在常加载区域里面。
② 问:怎么设置常加载区域?
答:看我的另一个视频《服务器基础指令合集Ⅰ》里的第一集。
③ 问:为什么我回城会一直原地罚站/强制抬头/视角被锁定?
答:这是因为,重置雪球菜单分数的指令“/scoreboard players set @a[scores={雪球菜单=1..6},rx=-88] 雪球菜单 0 ”没有起到作用。至于为什么这条指令没起到作用,可能是以下原因:(1)这条指令抄错或漏抄(2)命令方块箭头摆错,导致无法连接到这条指令(3)命令方块顺序摆错,这条指令必须跟在最后面 (4)还没做到这条指令就开始用回城功能。请把雪球菜单全部做完再启动,不要做了一半就开始给玩家使用。解决办法:先到系统设置里关闭启用命令方块,老老实实地把全部指令做完了再开启。
④ 问:为什么全服公告会刷屏?
答:如果是发起和接受传送的全服公告刷屏,那就是上面一个问题的原因,重置雪球菜单分数的指令没有起到作用。如果是传送超时的全服公告刷屏,那是因为你没有把显示传送超时的命令方块设置成有条件。
⑤ 问:我想要可以移动的那种黄色角标雪球,怎么改?
答:把第一条指令 /replaceitem entity @a slot.hotbar 8 destroy snowball 2 0 {"minecraft:item_lock":{"mode":"lock_in_slot"}} 换成 /give @a[hasitem={item=snowball,data=1,quantity=0}] snowball 16 1 {"minecraft:item_lock":{"mode":"lock_in_inventory"}}
⑥ 问:我把指令换成黄标雪球了,但是背包没有出现雪球是为什么?
答:可能你的背包满了。创造模式的玩家在背包满了的情况下会把雪球掉落物吸收消失。而非创造模式的玩家在背包满了的情况下,黄标雪球的指令会造成玩家身边雪球溢出的现象,所以不建议已经在开服以后中途换成黄标雪球。如果非要中途换,可以再加一条指令循环开启:/kill @e[type=item,name=雪球]
⑦ 问:怎么清理掉我不想要的红色/黄色角标雪球?
答:改成生存模式用掉;放进物品展示框里;使用指令/clear @s snowball
⑧ 问:我抄得一模一样,却没有用怎么办?
答:说明你实际上并没有抄得一模一样,只是你自己看不出来。检查指令是否打错,符号是否全英文;检查是否缺指令,或者多输了指令;检查命令方块箭头方向是否摆对,拐弯处是否是无条件;检查命令方块的有条件还是无条件是否设置对;检查命令方块的顺序是否摆放对;检查不同体系的指令之间是否产生冲突;检查有没有创建计分板;改对了指令以后命令方块还是报错,就拆掉命令方块重新复制进去;一样的指令别人能做的出来的,你做不出来,肯定不是指令的问题;你不把全部指令截图发出来,问别人哪里出错了,别人也不知道。
⑨ 问:为什么第三条指令组要用红石块保持开启?
答:众所周知20延迟等于1秒。然而网易的循环命令方块延迟时间不准,即使设置了一秒循环执行一次,再通过计分板减分让请求传送的时间表面上有60秒。但经过测试发现,实际上20多秒就走完了。所以要改成红石控制才能保证传送时间有60秒。
⑩ 问:什么要另外创建一个传送计分板,而不是用标签tag来标记传送玩家?
答:因为无法清除离线玩家的tag,但是可以删除计分板。这样就可以防止发起传送的玩家,中途下线了以后再上线依然被标记成发起传送的玩家。再者,删除而不是重置计分板,对服务器的性能也更有利。
补充问题:
①为什么接受传送用不了?
答:因为你没有把“/scoreboard objectives remove 传送 ”这条指令设置成有条件。如果这里没问题,那就对照常见问题第8个多检查。

②命令方块反馈里面出现“没有与选择器匹配的目标”和英文版的检测失败,怎么办?
答:只要不是语法错误,都不必理会。因为你查看命令方块反馈的那一刻,是没有人正在使用雪球菜单的,自然也就没有与选择器匹配的目标。出现没有与选择器匹配的目标这个提示,你应该感到高兴,这表明你的指令没有语法错误。
③为什么我传送倒计时没用?
答:尝试重新放置红石块,并反复检查。
④为什么菜单显示复制进去变成了***?
答:尝试多复制几次进去,有几率成功。
⑤为什么全服公告发不出来变成了***?
答:因为有玩家的名字是网易的屏蔽词,这个无法解决。
⑥为什么菜单里的部分符号变成了问号?
答:因为你是ios系统。可以让你的安卓朋友帮你复制一下。
⑦为什么没有雪球?
答:确认复制的指令以及命令方块摆放与设置全部没有错误以后,可以看看设置里有没有打开启用命令方块。
⑧为什么一直显示互传通道被占用?
答:如果过了60秒还是被占用的话,说明一直存在着传送分数=1的玩家,存在这个玩家就说明传送超时以后未能移除传送计分板。所以要去检查第三组指令有没有抄错。
⑨我们服务器是开启死亡掉落的,玩家一死背包里就一堆雪球,怎么改成死亡不掉落的雪球?
答:死亡不掉落的红标雪球:/replaceitem entity @a slot.hotbar 8 destroy snowball 16 0 {"minecraft:item_lock":{"mode":"lock_in_slot"},"minecraft:keep_on_death":{}}
死亡不掉落的黄标雪球:/give @a[hasitem={item=snowball,data=1,quantity=0}] snowball 16 0 {"minecraft:item_lock":{"mode":"lock_in_inventory"},"minecraft:keep_on_death":{}}
如果已经有玩家的背包里一堆红标雪球了,那就再加一条指令/clear @a snowball 循环开启。
⑩为什么我的菜单不显示?
答:检查用于显示菜单的指令。当前网易命令方块存在自动复制两遍指令的BUG。检查菜单指令是否和视频里的指令一致。