想要一键收获所有动物吗?
想要在方块世界
远距离锁定目标吗?
指令参数可以帮到你!
上一期我们学习了如何使用指令
今天发发菌就手把手
带大家理解指令参数
揭晓一串串字符背后的“秘密”
(提示下一类指令参数填写坐标参数)
坐标参数可分为以下三种:
(1)绝对坐标:世界坐标被视作绝对坐标。
举个栗子,开发者使用指令“/tp 128 64 128”时,会将人物传送到世界坐标为“x:128 y:64 z:128”的位置上。
(2)相对坐标:绝对坐标的偏移量。
开发者可以用波浪符号“~”来指代当前所站的世界坐标,在“~”符号旁添加计算式就可以达到坐标偏移的结果。
例如,冒险家使用指令“/tp ~+1 ~-1 ~”时,会将他传送到距离当前世界坐标X轴正一格,Y轴负一格的位置上。
(3)局部坐标:视线方向的偏移量。
通常用插入符号“^”来指代当前头部的方向坐标。以“tp”指令为例,开发者使用指令“/tp ^ ^ ^+5”时,会从当前位置向面朝方向的位置传送5格。
与相对坐标不同的是,局部坐标以头部方向为基准点。如果开发者希望让传送对象向面朝的方向传送,就会用到局部坐标~
通常情况下,指令由使用者输入,再由使用者执行,如执行“/tp”指令可以传送执行者到一个坐标。
但在地图玩法中,往往执行指令的个体不单单是拥有具体名称的玩家,也有可能是地图中的其他生物,这时就轮到目标选择器闪亮登场啦!
(提示下一类指令参数填写目标选择器)
目标选择器可以根据使用者所选的变量,再用条件参数筛选出最后满足条件的一个或多个执行指令的个体。
(1)变量
目标选择器变量用于指定待选目标的大致分类,共有5种:
@p |
选择最近的玩家 |
@r |
选择随机的玩家 |
@a |
选择所有玩家 |
@e |
选择包括所有玩家在内的全部实体 |
@s |
选择您自己 |
(2)条件参数
仅仅只输入选择器变量,还不足以满足我们的各种定制需求。因此,《我的世界》指令系统还为使用者提供了条件参数的功能(这里称之为目标选择器参数),来筛选出目标个体。
在当前的中国版中,共有12种类型的条件参数:
x, y, z |
坐标 |
l、lm |
经验等级 |
r、rm |
距离 |
m |
游戏模式 |
dx, dy, dz |
体积尺寸 |
name |
实体名称 |
scores |
计分项分数 |
rx、rxm |
垂直旋转角度 |
tag |
记分板标签 |
ry、rym |
水平旋转角度 |
c |
数量 |
type |
实体类型 |
开发者们可以通过特定格式@变量[<参数>=<值>,<参数>=<值>,<参数>=<值>,.....]来限制选取的群体。
注意,参数和值不区分大小写哦!接下来发发菌将会给大家详细讲解这些参数φ(゜▽゜*)♪
坐标参数
坐标参数用来定义一个起始点,它最常见的用法是和距离参数一起使用。
如果我们希望从某个坐标点开始,将周围半径5格内的实体传送到身边,那么目标选择器可以这么设置:
“x,y,z”三个参数决定世界的一个坐标,“r”代表距离范围内,“rm”则相反,代表距离范围外。两者结合使用,就可以获取从一个范围开始到另一个范围结束的区间内的实体目标。
所以,起始点常用于配合距离参数来框选一个区域内的实体目标(´・ω・`)
体积尺寸
体积尺寸参数用于定义一个长方体区域,常与坐标参数一起使用。
以坐标参数传入的世界坐标为基准点,向“X”方向(dx)延伸特定格数,向“Y”方向(dy)延伸特定格数,并向“Z”方向(dz)延伸特定格数。最后形成的长方体区域内,与之坐标重叠的实体便是筛选出的实体目标。
在上图的示例中,我们尝试从坐标点“128, 64,64”开始,延伸出5x5x5的立方体区域,并将与之重叠的实体传送到身边。
记分项分数参数
计分项分数参数允许开发者通过分数选择目标,生物的分数来自“scoreboard”指令。根据指定目标的分数过滤有多种写法,但基本格式都是以“@变量[scores={计分项=计分值}]”为准:
@e[scores={myscore=10}] |
选择所有记分项myscore分数为10的目标。 |
@e[scores={myscore=10..12}] |
选择所有记分项myscore分数为包含10到12之间的目标。 |
@e[scores={myscore=5..}] |
选择所有记分项myscore分数为5及以上的目标。 |
@e[scores={myscore=..15}] |
选择所有记分项myscore分数为15及以下的目标。 |
@e[scores={foo=10,bar=1..5}] |
选择所有记分项foo分数为10,且记分项bar分数为包含1到5之间的目标。 |
记分板
记分板标签参数允许开发者通过标签选择目标,生物的分数来自tag指令,基本格式以“@变量[tag=标签名称]”为准:
@e[tag=标签名称] |
选择所有带有“标签名称”的实体。 |
@e[tag=!标签名称]] |
选择所有没带有“标签名称”的实体。 |
@e[tag=] |
选择所有没有标签的实体。 |
@e[tag=!] |
选择所有带有标签的实体。 |
允许目标选择器参数同时筛选多个标签的情况下,被筛选出的目标个体必须满足所有标签参数的条件:
@e[tag=abc,tag=def] |
选择所有同时带有“abc”和“def”标签的实体。 |
@e[tag=abc,tag=!def] |
选择所有同时带有"abc",但不带有"def"标签的实体。 |
数量参数
数量参数用于所选的目标数量不超过给定数值。
在基岩版中,默认下使用目标选择器变量“@p”和“@r”会限制获取的目标数量为“1”,那么冒险家就可以用数量参数来增加获取的数量。
而在“@e”和“@a”中,数量参数传入正值会获取离冒险家最近的、满足筛选要求的目标实体;传入负值则相反,会获取满足筛选条件且离使用者最远的目标实体。
@p[c=3] |
获取离使用者最近的3名玩家。 |
@a[c=-4] |
选择离使用者最远的4名玩家。 |
@r[c=2] |
随机选择正在世界中的2名玩家。 |
等级参数
等级参数用于筛选满足给定等级范围的目标实体。在基岩版中,有两个相关参数:
① lm:等级超过给定值
② l:等级小于给定值
例如:
@e[lm=1] |
获取等级大于1的实体,由于只有玩家有等级概念,因此相当于获取等级大于1的玩家。 |
@p[l=16] |
获取离使用者最近,等级在16以内的玩家。 |
@a[lm=8,l=16] |
获取等级在8~16范围内的玩家。 |
游戏模式参数
游戏模式参数用于筛选满足给定游戏模式的目标实体,在基岩版中,使用“m”来标识。
“m”的值可以用“0”、“s”代表生存模式,“1”、“c”代表创造模式,“2”、“a”代表冒险模式:
@e[m=0] |
获取生存模式的玩家实体。 |
@a[m=c] |
获取创造模式的玩家实体。 |
@a[m=!2] |
获取不为冒险模式的玩家实体。 |
名称参数
名称参数用于筛选满足给定名字的目标实体,在基岩版中,使用name来标识:
@a[name=Steve] |
获得世界中名为Steve的玩家实体。 |
@a[name=!Steve] |
获得世界中名称不为Steve的玩家群体。 |
角度参数
(1)垂直旋转角度参数
通过垂直旋转角度参数,开发者可以筛选出设置的角度范围内的目标实体。在基岩版中,使用两种参数来表示:
① rxm:角度超过给定值
② rx:角度小于给定值
举个栗子:
@e[rxm=30,rx=60] |
获取所有视线角度在30~60垂直角度内的实体目标。 |
@e[rx=0] |
获取所有视线角度与水平线持平的实体目标。 |
@e[rxm=45] |
获取所有视线角度大于45度的实体目标。 |
(2)水平旋转角度参数
通过水平旋转角度参数,开发者可以筛选出给定的角度范围内的目标实体。在基岩版中,使用两种参数来表示:
① rym:角度超过给定值
② ry:角度小于给定值
举个栗子:
@e[rym=30,ry=60] |
获取所有视线角度在30~60水平角度内的实体目标。 |
@e[ry=0] |
获取所有视线角度在0水平角度内的实体目标。 |
@e[rym=45] |
获取所有水平角度大于45度的实体目标。 |
类型参数
类型参数可以帮助开发者筛选满足给定生物类型的目标实体,在基岩版中,使用type来表示,如:
@e[type=cow] |
获取世界中所有的牛实体。 |
@e[type=!cow] |
获取世界中不为牛类型的实体。 |
@e[type=cow,type=chicken] |
获取世界中牛类型和鸡类型的目标实体。 |
在基岩版中,“/tellraw”指令使用原始JSON文本来显示文本信息结果。
<raw json message:json>内的格式为{"rawtext":[{"text":""}]};其中<"text":> 后的双引号内,可以填写包含任意字符的文本信息。
今天的内容虽然有点多
但只要多看几遍
发发菌相信大家可以
领悟到其中的规律!
网易大神是网易游戏旗下的精英玩家社区。这里汇聚了广大精英玩家、游戏圈红人、行业大咖,集合了网易独家的官方资讯和福利趣闻,旨在为玩家打造一个丰富的游戏兴趣社交圈。玩家可以在网易大神与游戏中的好友实时聊天、多元互动;以游戏会友,结交更多游戏同好,和大神一起发现更多游戏乐趣。
官方网站:https://ds.163.com
官方微信:wyds_163