我的世界:指令中相当重要的组成部分,来了解无数机制的万恶之源!目标选择器教学
该礼包微信扫一扫下方二维码领取
“警告:本期攻略需要有一定指令基础的玩家查看,同时此内容较理论性,我会穿插实例来讲。之后我可能会做一系列服务器指令攻略,没有这个作为前置知识可就不好了”
目标选择器,一个时常混迹于各大命令中,小白也能一看就会,我也能一看就废的神器。
无数的指令中,当我们看到@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中实体组件文档需要翻译,所以就没写。
好了,本期网课……啊不是,攻略就到这里,下期再见
(本图文来源于网络,如有侵权请联系作者删除)
相关阅读
最新文章
- 我的世界兑换码领取 18个礼包兑换码
- 我的世界福利码领取 17个福利码大全
- 我的世界2023通用16个最新兑换码
- 我的世界兑换码领取 18个礼包兑换码
- 我的世界福利码领取 17个福利码大全
- 我的世界2023通用16个最新兑换码
- 我的世界兑换码领取 18个礼包兑换码
- 我的世界福利码领取 17个福利码大全
- 我的世界2023通用16个最新兑换码
- 我的世界兑换码领取 18个礼包兑换码
- 我的世界福利码领取 17个福利码大全
- 我的世界礼包码 2023通用16个最新兑换码
- 我的世界兑换码领取 18个礼包兑换码
- 我的世界福利码领取 17个福利码大全
- 我的世界:模组推荐(2):大型模组
- 我的世界:好看旗帜大合集,总有你钟意的那一款~
- 我的世界最新兑换码 10个永久兑换码大全2023
- 我的世界:关于如何建造基岩版、java版通用的刷怪塔
- 我的世界最新兑换码 10个永久兑换码大全2023
- 我的世界:指令中相当重要的组成部分,来了解无数机制的万恶之源!目标选择器教学
- 我的世界:指定物品死亡不掉落?冒险放置破坏?物品锁定?用物品组件试试!
- 我的世界:/event 指令教程
- 我的世界 summon 指令详解
- 我的世界:新型远程武器,弩的制作教学
- 我的世界:我的世界常用指令教学攻略(下)
- 我的世界礼包码 2023通用16个最新兑换码
- 我的世界:我的世界——红石攻略大全(上)
- 我的世界:怎能没有烟花?烟花制作详细教学
我的世界
《我的世界》(Minecraft)是一款风靡全球的3D沙盒游戏,由网易游戏代理运营的中国版手游。凭借开放自由的游戏世界、超乎想象的游戏玩法,《我的世界》深受上亿玩家的喜爱。玩家可以独自一人、或与朋友们并肩冒险,探索随机生成的世界,创造令人惊叹的奇迹。加载丰富的组件资源,更能够自由定制自己的游戏世界,开启任意你想要的玩法。
想不想和关羽一起,过五关斩六将呢?国风冒险玩法《三国·千里走单骑》正式上线,除了延续《三国·赤壁》中畅快的国风冒险,更有全新装备和40层武馆模式等你体验!不仅如此,家园正式开放二楼空间,还有樱花系列家具亮相,这次你想如何装扮空间更大的家园呢?超萌伙伴小咔嚓惊喜登场,陪你拍遍世界!冒险家们快来《我的世界》开启国风冒险旅程吧!!
冒险家们是不是觉得家园一楼空间不够了呢?还想拥有更多精美家具装扮自己的家园?没问题!家园正式开放全新的二楼空间!更有全新樱花系列家具给大家布置:樱花盆栽,樱花元素的衣柜、床、台灯......这一整套装扮起来仿佛自己置身花海中。冒险家们也别忘了邀请好朋友们来做客哦,一起分享樱花美景!