目标选择器用于在指令执行时选择目标,通常情况下使用的是@s、@p、@e、@r、@a,接下了解一下目标选择器及其参数
@s:
选择目标是执行命令的实体,如果由命令方块或者服务器控制台执行不会选择到任何东西

@p:
选择最近的玩家,且@p不能使用type参数,不能选择死掉的玩家
@r:
选择随机玩家,但不能选择死掉的玩家,并且如果使用type参数可以选择非玩家实体,比如@r[type=cow],随机选择一头牛
@e:
选择全部实体
@a:
选择全部玩家,并且可以选择到死亡的玩家,利用不能选择死掉玩家的@e,可以做到检测玩家是否处于死亡状态
-----------------------------------------------------------------------------------------------------
参数写在上文中@p、@e、@r、@a的后面,不同参数用“,”分隔开,以下是各种参数
1)x,y,z:
用于修改目标选择器的执行位置,比如
代码:
@p[x=1,y=1,z=1]
是选择离坐标[1,1,1]最近的玩家;假如命令执行位置是[100,100,100], 使用
代码:
@p[x=~1,y=~1,z=~1]
是选择离坐标[101,101,101]最近的玩家,使用
代码:
@p[x=~-1,y=~-1,z=~-1]
是选择离坐标[99,99,99]最近的玩家。
2)dx,dy,dz:
划定一个长方体区域,选择该范围内的实体,起始点是命令执行位置,由起始点x正方向延伸dx格,y正方向延伸dy格,z方向延伸dz格就是该长方形区域,可以
取负数向反方向延伸,比如:
代码:
@e[x=0,y=0,z=0,dx=1,dy=1,dz=1]
是选择坐标[0,0,0]为起点,xyz方向各延伸一格范围内的实体,没有xyz参数的话起始点就是命令执行位置
3)r,rm:
代码:
@e[r=10]
:十格范围内的实体
代码:
@e[rm=10]
:十格范围外的实体
4)rx,rxm与ry,rym:
用于选择视角,rxm是选择视角大于某一角度的目标,rx是视角小于某一角度的目标,视角等于这一角度的目标选择不到,平视的时候视角是0°,抬头角度会变小,最小为-90°,低头角度会变大,最大是90°。比如
代码:
@a[rx=-80]
是选择抬头且角度小于-80°的目标。ry与rym和rx与rxm同理
5)hasitem:
通过物品栏过滤目标,用法是[hasitem={条件一=?,条件二=?}],相同类型条件另写一个大括号,例如:
代码:
@a[hasitem={item=diamond,quantity=2..}]
钻石大于两个的玩家
代码:
@a[hasitem=[{item=diamond,quantity=2..},{item=stone,quantity=3..}]]
钻石大于等于两个,且石头大于等于三个的目标
hasitem有以下几种参数:
①item:
要检测的物品
②data:
物品的数据值,未定义的话默认是0,不同物品数据值有不同的含义比如装备数据值是耐久度,羊毛数据值代表颜色例如:
代码:
@a[hasitem={item=wool,data=3,quantity=2..}]
淡蓝色羊毛大于两个等于的玩家
③quantity:
限制物品的数量,比如quantity=..2是物品数量小于等于2,quantity=2..是大于等于2,quantity=2..3是2到3之间,quantity=2是2,quantity=!2是不等于2
④slot和location:
location是指定物品栏,常用的有以下选项,需要了解更多请移步wiki
slot.weapon.mainhand 手持
slot.weapon.offhand 副手
slot.armor.hand 头盔
slot.armor.chest 胸甲
slot.armor.legs 护腿
slot.armor.feet 靴子
slot.hotbar 快捷栏
slot.enderchest 末影箱
slot.inventory 物品栏
slot是指定物品栏中的槽位需要和location一起使用,和quantity一样支持2..3这样的范围,以及“!”反选,slot从零开始,比如{location=hotbar,slot=0}
是指快捷栏第一个槽位,比如:
代码:
@a[hasitem={item=diamond,quantity=2..,location=slot.hotbar,slot=0}]
是选择快捷栏第一格有大于等于两个钻石的玩家
6)name:
选择名字符合要求的实体,支持“!”反选,例如
代码:
@e[name=a]
是名字为a的实体,
代码:
@e[name=!a]
是名字不为a的实体
7)type:
选择实体种类,同样支持"!"反选
8)tag:
选择标签符合要求的目标,tag=a是具有a标签的目标,tag=!a是不具有a标签的目标
9)score:
选择分数符合要求的目标,支持如上文所述的如2..3的范围选择,也支持''!'反选,用法为scores={计分板1=分数范围或分数,计分板2=分数范围或分数}
例如
代码:
@a[scores={a=2,b=2..3,c=!3}]
选择计分板a分数等于2,计分板b分数在2到3之间,计分板c分数不等于3的目标。
10)family:
选择某族或者使用family=!选择非某族的实体,例如
代码:
@e[family=monster]
,选择所有亡灵生物
11)l和lm:
选择经验等级范围,例如
代码:
@a[l=15,lm=10]
选择所有10-15级的玩家
12)m:
m是游戏模式,支持"!"反选,可以使用0,1,2或者s,c,a分别对应生存模式,创造模式和冒险模式,例如
代码:
@a[m=s]
是选择生存模式的玩家
13)c:
选择目标的数量,比如在@r和@p中默认选择数量都是1,如果使用c参数可以改变选择的数量,比如
代码:
@r[c=2]
是选择两个随机玩家。当c取负数时,最近和最远会反过来,比如
代码:
@p[c=-2]
是选择两个最远玩家。在@e和@r中,使用c参数,会默认从近到远选择。
14)haspermission:
以权限为选择标准,比如:
代码:
 @a[haspermission={movement=disabled}}]
禁用移动权限的玩家
代码:
@a[haspermission={movement=disabled,camera=enabled}]
打开相机视角权限且关闭移动权限的玩家
以上,如有问题欢迎指正,也欢迎给出建议
 
最后编辑:
  • 赞
反馈: mudz666

NanaLoveyuki

函数包/指令区版主
正式会员
UID
1029
2024/03/25
29
6
勋章
1
郑州
naloveyuki.icu
红宝石
64
红宝石
64
可以合理利用富文本格式来解说,例如
代码:
@a[haspermission={movement=disabled,camera=enabled}]
1711541707867.png
段落方面也有1711541728288.png可以选择,所以可以不使用单纯的文字来掩饰,还可以添加图片诺
 

真实

Lv1-出生点
正式会员
UID
129
2023/07/27
5
6
22 <span role="presentation" aria-hidden="true">&middot;</span> <span class="zodiac-sign zodiac-sign--capricorn" data-xf-init="tooltip" data-content="摩羯座" data-trigger="hover focus click">&#9809</span>
红宝石
12
红宝石
12