第一中文网

第二十五章 更加精确的目标选择器 上 (第4/5页)

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

)。

对了,在Java版,判定实体是否在范围内是按照碰撞箱是否有重叠判断,在基岩版则是按照脚部坐标判断。

——记分板分数——

——记分板标签——

——队伍名称——

上面几格都是关于“记分板”(scoreboard)的,这个会在第四十九章中讲到。

——数量——

这个很有意思。Java1.13及以上版本是limit和sort,基岩版和Java1.13以下版本是只有一个c。

由于limit和sort相比于c是大径相庭,所以我们先从limit和sort开始。

使用@e,我们可以选择所有实体,但我们该怎么选择10只实体呢?

@e[limit=10]

就可以了。

但如果要选中最靠近目标选择器基准点的实体该怎么办?

这时候我们就需要使用sort,调整选取模式。

在Java1.13及以上版本中,@a和@e这两个目标选择器变量的默认选取模式是按照实体生成时间由长到短排列,即越老排越前面,对应sort的选取模式即:arbitrary。

我们要选中最靠近基准点的实体,只需要使用nearest模式即可:

@e[limit=1,sort=nearest]

这样子就可以选取最靠近基准点的实体。但请注意,在基岩版和Java1.13以下版本中,@a和@e这两个目标选择器变量是按照实体与目标选择器基准点的距离从小到大排列的,也就是nearest模式,并不是按照实体生成时间排列。

sort一共有四种模式:

nearest——由近到远

furthest——由远到近

random——随机

arbitrary——按生成时间由老到新

其中,对于arbitrary模式来讲,『c』这个参数基本上无法模仿。

那么c参数该如何使用呢?

先别着急,因为还有一个知识点没讲:

其实,当使用@p和@r变量时,limit或c默认为1,更改limit或c会增加选择最近(@p默认排列模式为nearest)或随机(@r默认为random模式)目标的数量。当使用@a或@e变量时,此方式会限制目标数量。如果是@s呢?那还用说吗?你有10个吗?minecraft可没有分身术。

注意一点,limit不能写负数,但c可以。

c参数为正整数时,在除@r变量外会选取最靠近基准点的c个目标;为负整数时,在除@r变量外会选取最远离基准点的c个目标。比如:

@a[c=5]

@a[c=-5]

前者会选取最近的5名玩家,后者会选取最远的5名玩家。

但如果要随机排序呢?那么就得用@r(随机排序)变量了。

c参数还有一个小知识,如果所有目标都一样远(你这不是钻牛角尖吗),在负整数的情况下将会选取生成时间越晚的实体,正整数情况下将会选取生成时间越早的实体。

——经验等级——

这个用来选取经验等级的参数,两个版本又不相同了。Java1.13及以上版本是level,基岩版和低于Java1.13的版本是l和lm。

等等,你有没有发现,这和那个rm、r、distance不超级像的吗?

没错,基本上你怎么用距离的,选取经验等级就怎么用。比如选取

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

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

新书推荐

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