|  | 
 
|   
 
   聊天栏输入前置指令
 
 /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 传送
 
 
 
 参考:https://www.bilibili.com/opus/949198101833318422
 | 
 |