第28章更加精确的目标选择器下
上一章我们说到了哪里?哦,是经验值啊。
那么接下来就是:游戏模式。
(游戏模式)
关于游戏模式,两个版本又是不同的,java版是gamemode,基岩版是m。
那么还是先上java版。举个例子:
@a[gamemode=adventure]
上面这段是啥作用?adventure是什么意思?不知道的赶紧去看看第十一章“更改游戏模式”。
adventure就是“冒险”模式,记住了,别再忘了,这是很重要的。
上面这段是指:选择所有游戏模式为“冒险”模式的玩家作为目标。
但是注意,gamemode不允许写数字或者缩写,所以玩java的各位真的是可怜啊。
但是,其实如果再添上一个(英文)符号,那么这个作用就会翻转。什么呢?看下面:
@a[gamemode=!adventure]
看到了吗?其实在“值“的前面添上一个(英文)感叹号,就可以把作用翻转成:选择所有游戏模式不为“冒险”模式的玩家作为目标。
然后是基岩版。基岩版又是只有一个字母:m。
现在上例子:
@a[m=adventure]
这个各位应该都知道吧,和刚才的java版作用一样。但有个好消息,各位是要听这个好消息吗?
没得选择啊!
这个好消息就是:基岩版的m允许使用数字和缩写字母!
是不是一个天大的好消息?那么请记住!生存是0或者是s,创造是1或者是c,冒险是2或者是a,不要记错了(这很简单的,真的)。
对了,还有,基岩版和java版的感叹号格式都是通用的,也就是说你还可以这样写:
@a[m=!a]
所以这个的意思也就反过来了。
(目标名称)
目标名称是什么?其主要是用于指定一些特殊的玩家或实体。java版和基岩版都是用name的(终于不用分开讲了)。
这个很重要,因为它在服务器里很经常用到,比如服务器的一些需要特定权限的人(比如服主)才能进入的地方,所以此时name就派上用场了。
@a[name=作者]
这样子,就会选择所有玩家中,或者是世界的所有实体中叫作者的玩家或实体。
但是这如果是指定实体的话只能是一个被命令过的实体,比如一个叫“小明”的村民,就可以。
(但是,某些人可能会拿这个来干这件事:/kill@a[name=作者])
(但可惜作者我的游戏id不叫作者)
所以懂了吧。
哦,对了,name也支持感叹号格式的。
(垂直旋转角度)
(水平旋转角度)
还记得第九章的/tp吗?其中第一次接触到了垂直旋转角度和水平旋转角度:
“指定垂直旋转角度......这个是指实体的头朝着哪里看,最大180°,最小-180°”
“指定水平旋转角度,用普通话来讲就是设定传送的实体其身子和头朝向哪里,可以是正数(顺时针)也可以是负数(逆时针),一圈360°......。”
这两个由于是同类,我就合起来讲了。
java版先上。java版的垂直旋转是x_rotation,水平旋转角度是y_rotation。这两个一个是x,一个是y。
@a[x_rotation=35]
@a[y_rotation=60]
这两个,第一个是:选择所有其头和地平线夹角或是与x轴(z轴)夹角为35度的玩家;第二个是:选择所有其身子朝向西偏南30度的玩家。
其实垂直旋转角度其范围是:90度(看星星)到-90度(看地上)。
水平旋转角度也有范围,其范围是:-180度(北)到180度(还是北)。
对了,这里背一下一个句子:
上北-180°,下南0°。左西90°,右东-90°。
这是水平旋转角度的方向,以后minecraft中再也不会不知道东南西北了。
其实这里也可以使用level和distance的格式,也就是:
@a[x_rotation=35..]