\\将执行者、执行位置和旋转角度都设定为名为A的盔甲架,并运行.....\\
可以发现,该腐竹为了防止执行指令时和其他实体发生冲突,特别使用了名叫A的盔甲架并用name参数锁定。同时,这位腐竹还用到了type参数。关于这个参数待会会讲到。
name参数也可以像m、gamemode参数一样,使用感叹号反转为排除指定名称的实体,比如:
/kill @e[name=!A]
这条指令的作用就是:杀死名字不是A的实体。
需要注意一点,如果名字中包含空格,需要用双引号括起。比如:
/kill @e[name=“genshin impact“]
——垂直旋转角度——
——水平旋转角度——
还记得第九章的/tp吗?我们就在那第一次接触到了垂直旋转角度和水平旋转角度:
这两个由于是同类,本书就合起来讲了。
在Java1.13及以上版本中,垂直旋转角度参数是x_rotation,水平旋转角度参数是y_rotation。在Java1.13以下和基岩版中,两类角度分别是rx、rxm和ry、rym。
唉,你发现了没有?这和我们之前了解过的经验参数(l、lm和level)还有距离参数(r、rm和distance)差不多。那么格式是不是也是一样呢?
还真是一样的。既然格式一样,这里就不多说它的格式了。
rx、ry参数的作用是:选取垂直、水平旋转角度小于等于RX或RY的实体
rxm、rym参数的作用是:选取垂直、水平旋转角度大于等于RXM或RYM的实体
垂直旋转角度其范围是:90度(看地上)到-90度(看天空)。
水平旋转角度其范围是:-180度(北)到180度(还是北),或者说是上北-180°,下南0°。左西90°,右东-90°。
等等,我们在讲tp时,不是说水平旋转角度是:『以实体为中心,以正南(z轴正方向)为0°,顺时针下来,实体朝向和正南方向的夹角(也或者说实体在真南方位角体系中朝向的角度),就是该实体的水平旋转角度。』
那这怎么跑出来负数了?
其实在Minecraft中,水平旋转角度虽然可以像我们之前在第九章讲tp时那么用,但大多数时候,你都得这么用:
以正南(z轴正方向)为0°,顺时针旋转180°通过正西至正北,用正数,逆时针旋转180°通过正东至正北,用负数。比如-45°,就代表以正南为基准,逆时针旋转45°的方向;30°,就代表以正南为基准,顺时针旋转30°的方向。
也就是说,在Minecraft中,水平旋转角度的正确范围是-180°~180°,而不是0°~360°。至于为什么我要在第九章那么讲,只是怕一下子就把负数搬出来会吓你们一跳。
现在我们回到正题。
举个例子。某网易手机租贷服为了让玩家回城方便,搞了一个“回城雪球”,其指令如下:
A→B→C→
A:重复,无条件,始终活动
/execute @e[type=snowball]~~~ execute @p[r=1.5,rx=90,rxm=60]~~~ execute @e[type=snowball,c=1]~~~ tag @s add back_home
\\选取雪球作为指令执行者,再以这个雪球为中心寻找半径1.5格内最近的低着头(头自水平线向下90°到向下60°)的玩家。如果找到,再以该玩家为中心寻找最靠近他的雪球,并给这个雪球赋予back_home标签。\\
B:连锁,有条件的,始终活动
/execute @e[type=snowball,tag=back_home]~~~ tp @p[r=1.5] 323 65 72
\\选取具有back_home标签的雪球,并以它为中心将半径1.5格内最靠近它的玩家传送到(323,65,72)。\\
C:连锁,有条件的,始终活动
/kill @e[type=snowball,tag=back_home]
\\清除所有具有back_home标签的雪球\\
其中就有用到rx和rxm参数,用于筛选那些低着头扔雪球的玩家。
至于其中出现的tag参数,我们在上一章已经略过了。关于tag会在以后讲到计分板时提到。
ry和rym参数目前来说没有特别广的用途,只能举个没啥用的例子:
/kill @a[ry=180,rym=-180]
这章没有结束,请点击下一页继续阅读!
喜欢Minecraft指令手册请大家收藏:(m.zjsw.org)Minecraft指令手册爪机书屋更新速度全网最快。