目标选择器
目标选择器(Target Selector)用于在不指定具体玩家名称的情况下选择一个或多个实体。这是指令系统中非常重要的概念。
| 选择器 | 说明 |
|---|---|
@p | 最近的玩家 |
@a | 所有玩家 |
@r | 随机玩家 |
@e | 所有实体 |
@s | 执行指令的实体(仅限执行者) |
选择器可以通过参数进一步筛选目标,语法为:
@选择器[参数1=值,参数2=值,...]| 参数 | 说明 | 示例 |
|---|---|---|
type | 实体类型 | type=zombie |
name | 实体名称 | name="Steve" |
distance | 距离范围 | distance=..10 |
x, y, z | 坐标位置 | x=100,y=64,z=200 |
dx, dy, dz | 区域范围 | dx=10,dy=5,dz=10 |
tag | 标签 | tag=foo |
team | 队伍 | team=red |
gamemode | 游戏模式 | gamemode=survival |
level | 经验等级 | level=10..30 |
scores | 分数 | scores={objective=5..} |
nbt | NBT 数据 | nbt={CustomName:"Test"} |
limit | 数量限制 | limit=3 |
sort | 排序方式 | sort=nearest |
参数支持范围表示法:
| 语法 | 说明 |
|---|---|
5 | 精确等于 5 |
5.. | 大于等于 5 |
..5 | 小于等于 5 |
5..10 | 在 5 到 10 之间 |
# 选择 10 格内所有僵尸@e[type=zombie,distance=..10]
# 选择所有处于生存模式玩家@a[gamemode=survival]
# 选择 3 个最近的玩家@p[limit=3]
# 选择名为 "Steve" 的实体@e[name="Steve"]
# 选择分数 objective 大于等于 10 的玩家@a[scores={objective=10..}]