第一中文网

第二十六章 更加精确的目标选择器 下 (第4/7页)

天才一秒记住【第一中文网】地址:www.dyzww.cc

_rotation =60..120]——所有朝向是在南偏西60°顺时针到北偏西60°这个范围内的玩家

@a[y_rotation =60]——所有朝着南偏西60°的玩家

——实体类型——

实体类型是type,上面我们已经见过了。

type和name本质上是差不多的,但是它筛选不是通过名字,而是通过实体种类。

什么是实体种类?比如一个玩家叫Notch,另一个玩家叫herobrine,虽然名字不同,但他们都是『玩家』种类的。又比如这里有一只马,那里有一只叫马的驴,虽然它们都叫马,但前者是马,后者是驴,并不是一个种类的。

type可以选定指定类型的实体,比如:

\/kill @e[type=minecraft:villager]

就可以杀死全部已生成的村民。

type一般来说仅用于@e,因为只有@e是包含非玩家实体的。在Java1.13以下和基岩版中,你也可以用在@r中来随机选择特定类型的实体。

和name一样,type也支持感叹号反转:

\/kill @e[type=!player]

这条指令的作用是:杀死所有非玩家实体。

需要注意的是,name和type这两个参数在非感叹号反转的情况下都是不可重叠的,比如:

@e[type=cow,type=player]

像上面那样是不可以的,minecraft中可没有既是牛又是玩家的动物。如果真有,那么也应该合并成为一个新的实体,也许会叫作cow_player(牛人)呢。

——实体家族——

我们知道通过type可以选取特定类型的实体。但如果我们要选取一堆不同类型的实体用于执行同一种指令呢?

记分板、Nbt和标签可以很好的解决这个问题。但在了解这三个东西之前,我们暂且没有除多弄命令方块以外的更好的办法。

mojang估计看我们这么可怜,于是在基岩版1.16.100中,加入了family参数。

family参数和type参数差不多,只不过它是通过实体家族筛选的。

什么是实体家族?

举个例子:

僵尸知道吧?僵尸一般来说有三类变种:

尸壳、僵尸村民、溺尸

虽然它们客观上并不属于同一种实体,但主观上我们仍然会将它们归类到一个大类:僵尸类。

用mojang的说法,它们都是属于同一个族(family)的。

现在你应该知道实体家族到底是什么了吧?

举个例子:

\/tp @e[family=creeper]@s

这条指令的作用是:将所有属于苦力怕家族的实体传送到自己身旁。

当然,你也可以使用感叹号将作用反转。需要注意,和type、name参数不同的是,family参数在非反转情况下也是可以叠加使用的,因为有些实体可能会属于多个族。

你可以在minecraft wiki上搜索『族』词条来查看原版所有可用的实体家族。

——物品——

我们知道,在Java版中,如果要筛选具有指定物品的实体,可以使用Nbt或\/clear。那在基岩版中该怎么办?使用\/replaceitem或\/clear吗?

这的确是两种可行的方法,但mojang还给了我们第三个方法:

本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!

如遇章节错误,请点击报错(无需登陆)

新书推荐

都市超品仙医 活在两个世界 大秦:这个太子总想着造反 与其说瞎话不如 穿越万界:神功自动满级 诛神乾坤 多子多福,仙女都被他抢了怎么办