|
聊天栏输入前置指令
/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 |
|