Skip to content

Commit

Permalink
Create 目标选择器.md
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaozhu2007 authored Apr 22, 2020
1 parent 1b933b7 commit 0a69729
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions 目标选择器.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# 目标选择器

### 本段文字中,variable翻译为变量,argument翻译为参数,而value代表数值。有些命令因为易读性的关系,并不会把它翻译出来。
大多数以实体或玩家作为参数的命令,可以通过某些限定条件来选择一个或多个实体或玩家,而不必指定实体名、玩家名或UUID。要用条件来选择实体或玩家,应先输入一个目标选择器变量,如有需要,还可再使用一个或多个目标选择器参数以制定具体的条件(可选)。

比如,要把A队所有玩家的游戏模式改为创造模式,但不使用玩家名来逐个指明:

/gamemode creative @a[team=A]‌‌[仅Java版]
再如,把拥有标签为A的玩家的游戏模式改为创造模式,但不使用玩家名来逐个指明:

/gamemode creative @a[tag=A]
请注意,Java版的目标选择器和基岩版有较大的区别,有的语法只适用于Java版,有的语法只适用于基岩版,请注意文中的“仅Java版”和“仅基岩版”标识。

目标选择器变量用于指定待选目标的大致分类。共有5种变量:

@p
选择最近的玩家。在服务器控制台中输入时,默认基准点为(0, 0, 0)。如果有多个最近的玩家,他们与基准点距离完全相同,那么会选择其中最晚进入服务器的玩家。
目标选择器参数可以进一步筛选待选目标。举例来说,@p[team=A]‌‌[仅Java版]只会选择A队中距离最近的玩家,即使有其他非A队玩家更为靠近。
c‌‌[仅基岩版]或limit‌‌[仅Java版]目标选择器参数可以用来追加待选目标。(举例来说,@p[c=3]‌‌[仅基岩版]@p[limit=3]‌‌[仅Java版]将选择三个最近的玩家)。若参数c是负值,会反转选择目标的顺序(举例来说,@p[c=-1]会选择最远的一名玩家)‌‌[仅基岩版]

@r
选择随机玩家(type目标选择器参数已经不适用于@r)。
目标选择器参数可以进一步筛选待选目标。举例来说,@r[team=A]‌‌[仅Java版]只会随机选择A队玩家。
c‌‌[仅基岩版]或limit‌‌[仅Java版]目标选择器参数可以用来追加待选目标。比如,@r[c=3]‌‌[仅基岩版]@r[limit=3]‌‌[仅Java版]将随机选择三个玩家。

@a
选择所有玩家。
目标选择器参数可以进一步筛选待选目标。举例来说,@a[team=A]‌‌[仅Java版]只会选择A队的所有玩家。

@e
选择所有实体(包含玩家),但不包含死亡的实体。除@e以外的所有目标选择器都可以选中死亡的实体。
目标选择器参数可以进一步筛选待选目标。举例来说,@e[type=cow]只会选择牛。

@s
只选择唯一一个实体:该命令的执行者,包括已死亡玩家。若命令执行者不是一个实体,比如是命令方块或服务器控制台执行命令,则此选择器不会选中任何东西。
目标选择器参数 可用于确定执行者是否会成为目标。举例来说,@s[type=cow,team=Red]只会在命令执行者是红队的一头牛时才会将其选中。

@c
选择自己的吉祥物。‌‌[仅教育版]
目标选择器参数可以用于标记自己的吉祥物。举例来说,/tp @c 50 60 40会将自己的吉祥物传送到指定的位置。

@v
选择所有的吉祥物。‌‌[仅教育版]
目标选择器参数可以用于标记所有的吉祥物。举例来说,/remove @v将移除所有的吉祥物。

0 comments on commit 0a69729

Please sign in to comment.