手机游戏> 我的世界> 游戏攻略> 我的世界

我的世界:指令中相当重要的组成部分,来了解无数机制的万恶之源!目标选择器教学

作者:十一 来源:玩咖游戏 发布时间:2022-07-09 09:45:46
加客服,领福利

该礼包微信扫一扫下方二维码领取

“警告:本期攻略需要有一定指令基础的玩家查看,同时此内容较理论性,我会穿插实例来讲。之后我可能会做一系列服务器指令攻略,没有这个作为前置知识可就不好了”

目标选择器,一个时常混迹于各大命令中,小白也能一看就会,我也能一看就废的神器。


无数的指令中,当我们看到@p - 最近的玩家……的时候,就是与它的见面。
看起来一看就会,其实里面大有门道。
先讲一下选择器本体:
@p:最近的满足条件的1个玩家,如果最近的玩家不满足条件,那么会去寻找距离更远但符合条件的玩家。
@a:选择所有玩家。
@r:选择随机的1个玩家。
@e:选择所有活着的实体
@s:选择命令执行者自己

好了,我们本期教程就到这里,我们下期再见…………………………

开玩笑,我会这么水吗?
今天的重点肯定不只是这个,是[]
额…………也不是中括号,是目标选择器的参数


这个参数可以帮我们判断许多东西,我将它们简单归为4类


【位置选择】


选择某方形区域内的目标
最基础的位置选择,也是参数最多的选择器,它一共有3个目标选择器参数要输入!
分别为dx,dy,dz,可以搭配x,y,z使用,不支持反选和多选

x:区域坐标最小点的x坐标(非必填,不填默认为命令执行者的位置)
y:区域坐标最小点的y坐标(非必填)
z:区域坐标最小点的z坐标(非必填)
dx:区域的x轴长度(区域坐标最小点的x坐标与区域坐标最大点的x坐标的距离,下同)
dy:区域的y轴长度
dz:区域的z轴长度

举例:
选择位于坐标8 3 1至12 8 9之间的全部实体:
首先先计算区域大小:
12-8=4
8-3=5
9-1=8
得出区域大小为4*5*8
然后正式开始:
@e[x=8,y=3,z=1,dx=4,dy=5,dz=8]
选择以指令执行者位置为坐标最小点,大小为9*9*6的区域内全部的玩家
@a[dx=9,dy=9,dz=6]


选择某圆形区域内的目标
位置选择的另一种方式,这种方式只需要输入半径r即可,相比起需要6个参数的方形选择要友好的多。

默认情况下,圆形区域的中心是命令方块的位置,如果你想移动这个位置,那么可以使用上文提到的x,y,z参数,输入你想要的圆形区域的中心位置的坐标即可。

r:圆形半径
x:圆心的x坐标(非必填,不填默认为指令执行者的位置)
y:圆心的y坐标(非必填)
z:圆心的z坐标(非必填)

举例:
选择以命令执行者为圆心,半径为8圆形范围内的全部实体:@e[r=8]
选择以坐标24 5 63为圆心,半径为6圆形范围内的全部实体:@e[r=6,x=24,y=5,z=63]


基于垂直旋转选择目标
检测玩家是抬头还是低头或者平视,所有抬头/低头执行指令都是基于这个选择的。
生物的上下视角一共有180度,
90为低头最低,0为平视,-90为抬头最高。
这种方法需要输入rx和rxm两个数据,不支持反选和多选。

rx:最大垂直旋转角度
rxm:
最小垂直旋转角度

rx和rxm你可以理解为一个区间rx是两个数值中较大的数,rxm是较小的数,这两个输入后,上下视角在这两个数区间的目标会被选择,比如目标选择器参数是rx=50,rxm=30,我的垂直旋转角度是42,那么目标选择器会选择我。

【实例】
低头回城
因为这个不太好举例,所以我用了一个实例。
最简单的低头回城只需要一个命令方块,这里利用的是/tp的目标选择器
假设主城坐标为0,4,0。指令如下:
/tp @a[rx=90,rxm=80] 0 4 0 0

重点来了,指令解析:

/tp:
传送,不用解释
@a:所有玩家,这种单个指令性能压力不大(大量指令同时执行会使游戏性能降低),不需要用@r牺牲反应速度节约性能
[rx=90,rxm=80]:选择垂直旋转角度(上下视角)小于90大于80的玩家,因为这个指令只需要检测想回城的玩家,不需要把垂直旋转角度限制得特别死,自然选择大于80更加实际。
如果你要卡得死,必须低到最低才能回城,那么这里输入rxm=89也可以
0 4 0 :主城坐标,记得换
0:易错点,tp默认保留垂直旋转和水平旋转角度,如果你不输0让tp把传送过去的玩家视角调到平视,那就形成永动游戏bug了。

那么还能不能改一下呢?
抬头回城
这里只需要改rx和rxm的数值,改成rx=-80,rxm=-90,这里易错点,是数值大小,不是绝对值大小,负数的数字越大数越小


基于水平旋转选择目标
和上面垂直旋转的部分原理一样,所以这里主要讲水平旋转角度
水平旋转数值实际上就是我们经常说的东南西北,一共360度。
0表示正南 z+方向
90表示正西 x-方向
-90表示正东 x+ 方向
-180表示正北 z-方向

“其角度以正南(或正Z轴方向)为基准顺时针旋转。水平旋转值从-180(面向正北)开始,到-90(面向正东),再到0(面向正南),再到90(面向正西),最后到180(再次面向正北)。” 来自中文minecraft wiki
这个目标选择器参数不支持反选和多选

ry:最大水平旋转角度
rym:最小水平旋转角度


举例:
选择所有朝向南偏西的玩家:@a[ry=90,rym=0]
当然,这不是正西南,南偏西是数学上的说法,如果是正西南,那就得了,(90+0)/2=45。
所以正西南为ry=45,rym=44。
选择所有朝向正西南的骷髅:@e[ry=45,rym=44,type=skeleton]

根据距离选择目标
通过c可以根据距离选择目标,不支持反选和多选,但是输入负数会倒转选择顺序,例如c=1选择最近的1个目标,c=-1选择最远的一个目标

c:距离执行者最近的x个目标

举例:
选择最近的6个玩家:@a[c=6]
选择最近的2个僵尸:@e[type=zombie,c=2]
选择最远的1个末影水晶:@e[type=end_crystal,c=-1]

c还可以用于定义@p和@r的数量,当c放在@p上时,可以改变选择最近玩家的数量。当c放在@r上时它不会选择最近或最远,改为定义数量,可以改变随机选择的数量

举例:

选择最近的3个玩家:@p[c=3]
选择随机的5个玩家:@r[c=5]
【积分选择】


根据计分板分数选择目标是非常常用的一种选择方法,也是无数机制的关键点。
这个选择器和其他的有一定差别,scores=后面跟的不是数字,是{计分板名称=数字},比如我想选择所有计分板a=4的玩家,那么目标选择器为@a[scores={a=4}],同时数字支持区间和反选。

scores:{计分板=分数}

举例:
选择所有a不是4的玩家(包括a计分板上没有分数的目标):@a[scores={a=!4}]
选择所有a大于等于4的玩家:@a[scores={a=4..}]
选择所有a小于4的目标以及a计分板上没有分数的实体:@e[scores={a=!4..}]
选择随机一个a小于等于4的玩家:@r[scores={a=..4}]
选择所有a分数在4到6之间的苦力怕(4和6都算):@e[scores={a=4..6},type=creeper]

如果你需要同时判断多个分数,就需要在第一个数字后面加,(英文逗号)然后连接下一个计分板。

举例:
选择所有a的分数为4且b的分数为6的玩家:@a[scores={a=4,b=6}]


通过tag选择目标属于计分板的一种变种,tag只存储是或否(有或者没有这个标签),格式也更简单,输入tag=标签名即可选择,支持反选,正选不能同时选择多个,但反选可以。

tag:选择标签

举例
选择所有有a的tag的盔甲架:@e[type=armor_stand,tag=a]
选择所有没有a和b标签的玩家:
@a[tag=!a,tag=!b]

tag指令科普,tag同样支持*。

【游戏变量选择】

根据经验等级选择
这个不用解释,一看就会,每个人生存都看得见下面的经验等级。
在没有计分板的版本里,经验等级就成为了计分板的替代方案。
这是类似rx与rxm的区间选择,不支持反选,目标必须是玩家
l:最大经验等级
lm:最小经验等级

举例:
选择所有等级大于20的玩家:@a[lm=20]
选择所有等级小于10的玩家:@a[l=10]
选择所有经验在10-20级内的玩家:@a[l=10,lm=20]

根据游戏模式选择
游戏模式有许多表现方法,具体可参考下图:

冒险模式: 2 a adventure
创造模式: 1 c creative
跟随默认:d defauit
生存模式:0 s survival
这11种表现方式分别对应前面的游戏模式,支持反选,目标必须是玩家
m:游戏模式

举例:
选择所有生存模式的玩家:@a[m=0]
选择随机3个冒险模式的玩家:@r[c=3,m=a]

根据名称选择
游戏名称是字符串支持反选,正选不能同时选择多个,但反选可以。

name:实体名称

举例:
选择所有名为张三的僵尸:@e[name=张三,type=zombie]

【种族选择】

根据实体种类选择目标
实体名称属于命名空间id,可以在wiki上查看,这个和/summon的命名空间id是基本一样的,不过可用的更多一些,支持反选正选不能同时选择多个,但反选可以

type:实体命名空间id

举例:
选择所有僵尸:@e[type=zombie]
选择所有活着的玩家:@e[type=player]

type不适用于@p,@a,在@r中可以使@r选择非玩家目标(仅基岩版,网易手机版是基岩版),在@e中属于最正式的用法,在@s中可以用于验证执行者身份。

举例:
选择随机3个僵尸:@r[type=zombie,c=3]
当最近的玩家有tp的tag时才将玩家传送至0 4 0:execute @p ~~~ execute @s[tag=tp] ~~~ tp @s 0 4 0 

常用实体命名空间id:
僵尸 zombie
掉落物 item
经验球 xp_orb
雪球 snowball
鸡蛋 egg
玩家 player

补充:其实还有family基于家族选择,不过由于wiki中实体组件文档需要翻译,所以就没写。
好了,本期网课……啊不是,攻略就到这里,下期再见



(本图文来源于网络,如有侵权请联系作者删除)

热门游戏

我的世界
我的世界
角色扮演 上线
《我的世界》(Min
极速体验 畅快体验
前往

其他玩家还在玩

  • 相关阅读

  • 最新文章

我的世界

我的世界
类型:角色扮演
安卓:05-15 06:52上线
《我的世界》(Minecraft)是一款风靡全球的3D沙盒游戏,由网易游戏代理运营的中国版手游。凭借开放自由的游戏世界、超乎想象的游戏玩法,《我的世界》深受上亿玩家的喜爱。玩家可以..... [详情]

《我的世界》(Minecraft)是一款风靡全球的3D沙盒游戏,由网易游戏代理运营的中国版手游。凭借开放自由的游戏世界、超乎想象的游戏玩法,《我的世界》深受上亿玩家的喜爱。玩家可以独自一人、或与朋友们并肩冒险,探索随机生成的世界,创造令人惊叹的奇迹。加载丰富的组件资源,更能够自由定制自己的游戏世界,开启任意你想要的玩法。

想不想和关羽一起,过五关斩六将呢?国风冒险玩法《三国·千里走单骑》正式上线,除了延续《三国·赤壁》中畅快的国风冒险,更有全新装备和40层武馆模式等你体验!不仅如此,家园正式开放二楼空间,还有樱花系列家具亮相,这次你想如何装扮空间更大的家园呢?超萌伙伴小咔嚓惊喜登场,陪你拍遍世界!冒险家们快来《我的世界》开启国风冒险旅程吧!!

冒险家们是不是觉得家园一楼空间不够了呢?还想拥有更多精美家具装扮自己的家园?没问题!家园正式开放全新的二楼空间!更有全新樱花系列家具给大家布置:樱花盆栽,樱花元素的衣柜、床、台灯......这一整套装扮起来仿佛自己置身花海中。冒险家们也别忘了邀请好朋友们来做客哦,一起分享樱花美景!