[nbt=!{Health:0.0f}] 或者干脆用 @e[type=player](后者不选死者)。拼装 @a、@e 等选择器参数:距离、分数、标签、NBT。
免费在线
正在加载工具…
@e 会选中所有实体,包括扔在地上的物品和展示框。给 @e 加 type= 过滤几乎总是必要的,否则很容易误伤。
参数写在方括号里、逗号分隔:@e[type=zombie,distance=..10,limit=3]。 大多数参数前面加 ! 表示取反。
distance 用的是浮点球形距离,所以 distance=..10 是半径 10 的球,不是边长 20 的立方体。要立方体请用 dx/dy/dz。
# 杀掉 20 格内所有掉落物(清理卡顿)
kill @e[type=item,distance=..20]
# 给还没打过 tag 的新玩家发欢迎语,然后打上 tag
execute as @a[tag=!joined] run tellraw @s {"text":"欢迎第一次进服!","color":"gold"}
tag @a[tag=!joined] add joined
# 选中脚下 10×5×10 长方体里的所有僵尸
@e[type=zombie,x=~-5,y=~,z=~-5,dx=10,dy=5,dz=10]
# 分数 kills 达到 10 以上、排名前 3 的玩家
@a[scores={kills=10..},sort=descending,limit=3]
# 正在看着天空的玩家(俯仰角为负)
@a[x_rotation=-90..-30][nbt=!{Health:0.0f}] 或者干脆用 @e[type=player](后者不选死者)。type=zombie,type=skeleton 是无效的(不可能既是僵尸又是骷髅)。 多个取反倒是可以:type=!zombie,type=!skeleton。要选多种类型请用实体标签。limit=1 而不写 sort 时,@e 的默认排序是 arbitrary(任意),拿到的不一定是最近的那个。c(数量)、r/rm(半径)、l/lm(等级)、m(模式)、rx/ry(角度),与上面这套 Java 1.13+ 的参数名不通用。@p 是离执行者最近的玩家,@a 是全部玩家,@r 随机玩家,@e 是所有实体(含掉落物和箭),@n 是最近的实体,@s 是执行者自己。@p/@r 默认只选 1 个,加 limit 可以扩到多个;@s 不接受 limit 和 sort,@a/@p/@r 也不能用 type。
distance 是球形范围,distance=..10 表示半径 10 格以内,distance=5..10 是环形区间。dx/dy/dz 是以基准点为角、向正方向延伸的长方体范围,适合圈定一块区域。两者判定形状不同,按需求选。
用 scores 参数,格式是 @a[scores={objective=值}],值支持范围写法:{kills=10..} 表示 10 及以上,{kills=..5} 表示 5 及以下,{kills=3..7} 表示区间。多个目标用逗号分隔,全部满足才会被选中。