在Java1.13及以上版本或基岩版中,当你在输入目标选择器之后,指令提示往往会出现一个符号,这个符号就是『[』。
为什么呢?其实,一个目标选择器实际上有两个部分:
<变量>[筛选参数]
其中的变量即我们了解过的@a、@e之类的,而筛选参数则是通过各种特定的条件从已选择的实体中细分出需要的实体。
那么到底有多少种筛选参数呢?答:到目前为止(2022-8-3),Java版有21个筛选参数,基岩版有22个筛选参数。
这些参数如下:
--坐标--
\\坐标\\
x、y、z
\\距离(球形范围)\\
distance(JE1.13及以上)
r、rm(BE和JE1.13以下)
\\立方体范围\\
dx、dy、dz
--旋转角度--
\\垂直旋转角度\\
x_rotation(JE1.13及以上)
rx、rxm(BE和JE1.13以下)
\\水平旋转角度\\
y_rotation(JE1.13及以上)
ry、rym(BE和JE1.13以下)
--记分板--
\\记分板分数\\
scores(JE1.13及以上和BE)
score(JE1.13以下)
\\标签\\
tag
\\队伍名\\(仅Java)
team
--其他--
\\数量\\
limit、sort(JE1.13及以上)
c(BE和JE1.13以下)
\\经验等级\\
level(JE1.13及以上)
l、lm(BE和JE1.13以下)
\\游戏模式\\
gamemode(JE1.13及以上)
m(BE和JE1.13以下)
\\名称\\
name
\\实体类型\\
type
\\实体家族\\(仅基岩版)
family
\\物品\\
hasitem
\\实体数据标签\\(仅Java版)
NBT
\\游戏进度\\(仅Java版)
advancements
\\谓词\\(仅Java版)
predicate
看起来好像很复杂的样子?部分参数的确有点复杂,但大部分还是很简单的。
我们先看看格式:
(注意,接下来的“[]”都不属于格式的符号,属于必填符号,“<>”符号仍是格式符号)
[<参数名>=<参数值>,<参数名>=<参数值>,…]
唉,你有没有发现,这和JSON的格式有点像啊。
没错,和JSON一样,目标选择器的每个参数也是一个『键-值对』。只不过需要注意以下三点:
①目标选择器参数部分的最外层必须要用中括号包起来
②目标选择器的每个参数,其参数名和参数值之间是用等于号分开,而不是用分号
③平台特性,大部分英文半角符号会被强制改为中文全角符号
现在详细的讲讲各种参数的使用方式。