MineTools我的世界 Java 版工具站

我的世界目标选择器生成器

把「半径 10 格内、带 boss 标签、不是村民的实体」翻译成正确的 @e[...] 写法。每加一个条件都会给出中文解释,还会提醒容易踩的坑。

生成的选择器


        
      
示例指令

      

这条选择器的含义

1. 选择范围

2. 身份条件

3. 位置与范围

指定起点坐标 留空则以指令执行位置为起点
长方体范围 dx/dy/dz 从起点向正方向延伸的格数

4. 数量、排序与进阶

选择器参数速查表

参数含义写法示例
type实体类型,仅 @e 可用,支持 ! 反选和 # 标签type=zombie / type=!player
distance球形距离范围distance=..10
x,y,z + dx,dy,dz长方体区域筛选x=0,y=64,z=0,dx=16,dy=8,dz=16
tag记分板标签,可写多个(并且关系)tag=boss,tag=!dead
scores记分板分数区间scores={money=100..}
nbtNBT 部分匹配nbt={Invulnerable:1b}
limit + sort数量与排序limit=1,sort=nearest
level玩家经验等级level=30..
gamemode游戏模式gamemode=!spectator

写选择器的三个性能建议

常见问题

@p、@a、@e、@r、@s 分别是什么?

@p 最近的一名玩家;@a 全部玩家(包括死亡状态的);@e 全部实体(含掉落物、盔甲架等);@r 随机一名玩家;@s 指令执行者自己。只有 @e 支持 type 参数,其余四个只能选玩家。

distance=..10 和 r=10 有什么区别?

rrmcm 这些是 1.12 及更早的旧写法,1.13 之后已经全部废弃。现在统一写成范围形式:distance=..10(10 格以内)、distance=5..(5 格以外)、distance=5..10(5 到 10 格之间)。

为什么 limit=1 选出来的不是最近的那个?

因为 @e 的默认排序是 arbitrary(任意顺序),必须显式写 sort=nearest 才是最近优先。@p 默认就是最近优先,@r 默认随机。

scores 和 nbt 怎么写?

分数写成 scores={kills=5..,deaths=..2};NBT 写成 nbt={IsBaby:1b} 这类结构,例如筛选手持钻石剑的实体可以用 nbt={SelectedItem:{id:"minecraft:diamond_sword"}}。注意 NBT 匹配是部分匹配,只要写出的字段都对上就算命中。