作为一个开了3年的无mod服务器的老玩家,想在服务器里增加一点乐趣,就需要用到命令方块
我的世界版本1.8.19(对应网易版2.8.5.23)后续版本可能有改动
首先来看看单个的指令如图:
通过这些指令我们可以来完成一些有趣的东西
1.雪球菜单 2.抽奖机器 3.商店 4.幸运方块 5.技能 6.自定义传送 7.悬赏系统 8.任务系统等等
首先讲解最新的雪球菜单指令,分为三个部分:扔雪球选择,显示内容,确认
扔雪球选择指令如下(讲解):
execute @e[type=snowball] ~~~ scoreboard players add @p[r=2] 雪球菜单 1
如上指令,给予附近扔的玩家,记分板“雪球菜单”增加1分
execute @e[type=snowball] ~~~ playsound random.orb @p[r=2]
如上指令,每扔一下发出一声音
execute @a[scores={雪球菜单=1..}] ~~~ kill @e[type=snowball,r=4]
如上指令,将积分板为大于1的玩家,清除附近雪球
execute @a[scores={雪球菜单=7}] ~~~ scoreboard players set @s 雪球菜单 1
如上指令,这个是将积分板为7的玩家,设置成记分板1,已实现循环
接下来是显示部分:
这个内容很长,不容易理解,涉及到text文本的颜色,换行,记分显示,其中§是表示选择的颜色[后面可加1~10等还可以用字母表示特殊颜色。“\n”代表换行。scores后面表示记分板,用scores={记分板=数值范围}来表示
execute @a[scores={雪球菜单=1..6}] ~~~ titleraw @s actionbar {"rawtext":[{"text":"§l§b??满头问号??\n==================§e\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":"§a抬头确定 §c低头取消?\n\n\n\n"}]}
之后是确认部分:确认和取消通过,玩家抬头低头确认在命令中用rx,rxm来表示
execute @a[scores={雪球菜单=1},rx=-85] ~~~ title @s title §l§b回城成功!
如上指令,记分板为1,抬头的玩家显示显示回城成功
execute @a[scores={雪球菜单=1},rx=-85] ~~~ tp @s -51 119 -2
如上指令,给记分板为1,抬头的玩家传送到-51 119 -2位置
execute @a[scores={雪球菜单=1..4},rx=-85] ~~~ scoreboard players set @s 雪球菜单 0
如上指令,给记分板1到4(为什么是1~4,因为只要确认了就会抬头,是一种包含的关系),抬头的玩家,将记分板变为0(为什么是-85而不是-90,-90这个数值在版本中有失灵的可能)
execute @a[scores={雪球菜单=!0},rxm=88] ~~~ title @s actionbar §l§c已关闭菜单?
如上指令,给记分板不等于(用!表示)0的玩家,低头显示“关闭菜单”字符
execute @a[scores={雪球菜单=!0},rxm=88] ~~~ scoreboard players set @s 雪球菜单 0
如上指令,给记分板不等于(用!表示)0的玩家,将记分板设置为0
execute @a[scores={雪球菜单=!0},rxm=88] ~~~ playsound fire.ignite @p
如上指令,给记分板不等于(用!表示)0的玩家,低头的玩家,播放声音
这就是雪球菜单的指令部分
其余的小装置后续待更新