【授权搬运】FeathStudio指令教学课(第二期)
本帖最后由 哈里谢顿 于 2022-7-22 15:40 编辑第二期--目标选择器和简单指令
特别声明:本指令教程原作者为FeathStudio工作室,我(苦力怕论坛名叫哈里谢顿,你们也可以叫我屑瓜)已询问过FeathStudio工作室室长荼義,他本人同意我可以搬运
一.目标选择器
在minecraft中,大部分命令都需要<目标>这一参数用于确定执行指令的对象,举个栗子,杀死土猪,"土猪"便是该指定的目标,这时候就可以使用目标选择器来确定了。
目标选择器(Target Selector)可用于以实体或玩家作为参数的命令中,通过某些限定条件来选择一个或多个实体或玩家,而不必指定实体名、玩家名或UUID --wiki
目标选择器构成
目标选择器由<变量>和[参数]构成
目标选择器变量
目标选择器首先需要输入一个选择器变量,上次课中我们已在cb中看到了目标选择器变量的提示,更完整的见下表(来自wiki):
*1:@a是选中所有玩家且包括死亡玩家
*2:@e不包含死亡的实体
*3:@r在不使用type类型限定时默认是@r,即选中随机存活玩家
*4:@s选中该命令的执行者,也可以是死亡玩家,那么有同学要问了:“万一执行者是cb呢?”答案:选不中,ta毕竟是一个方块不是实体。
目标选择器参数
为了更精确的选择目标,通常在变量后使用一个或多个选择器参数。比如
@e
选中所有实体中为猪的实体
接下来对一些参数做简要介绍,在学习前,我们必须要知道,选择器参数逻辑是&&,也就是只有条件都满足了才能选中(牢记)
*r,rm
r/rm=数值
选中以执行者为中心,半径为若干的球体内(r)或外(rm)的实体,这两个可以混用,但是r参数的数值必须大于rm参数,否则无效。特别地,rm=0会选中本维度所有加载实体。
例子:
@a 选中命令执行点为中心,半径为3的球体外所有玩家。
@e 选中以命令执行点为中心,半径为5的球体内,半径为3的球体外所有加载实体
@p 选中以命令执行点为中心,半径为2的球体内最近的玩家
*type
type=<实体id>
选中实体类型,可以反选(type=!)
如:
@e 选中所有存活玩家
@e 选中不为牛和猪的实体
但不能是@e 以为是选择牛或猪,其实按照选择器的逻辑关系,是选中既是牛又是猪的实体,这种实体是不存在的。
那就提出疑问了:“怎么一次选中多个实体?”一是使用多个反选,但是minecraft的实体数量过于庞大,慢慢的反选出几个实体确实有点慢。那么就用到了family选参了。
*family
family=<家族id>
family=!<家族id>
可以看作是一个大号的type,能够选中处于这个家族里所有的实体,和type一样可以反选(family=!),也可以使用多个正选,比如:
@e — 选择骷髅家族即所有加载骷髅、凋灵骷髅和流浪者。
@e — 选择所有不是敌对生物的生物(例如:会选中牛和猪,但不会选中僵尸和骷髅)
@e 选择所有是亡灵生物的敌对生物(例如:会选中僵尸和骷髅,但不会选中苦力怕和末影人)
name
name=<名字>
name=!<名字>
很好理解,选择名字是xx的生物,可以反选,一些特别的字符(比如空格,数字)需要带双引号括起,类比type,不能选择既叫xx的又叫xx的
如:
@e — 选择不叫“Steve”和"nb"的加载实体
@e — 选择名字是"114514"的实体
**c
这是一个比较强大的参数,作用分2个。
(1).在除@r以外的选择器变量中:
c=数值
由近到远选择若干个目标,@p不指出c参数值默认为1,如:
@p 选择三个距离最近的玩家
@e 选择114514个距离最近的猪(如果实体数量不足不影响指令执行)
c=-数值
由远到近选择若干个目标,优先级大于@p.如:
@p 选择10个距离最远的玩家
@e 选择1个距离最远的实体
(2)在@r的选择器变量中
增加随机选择的数量,不可以使用"c=-数值" c参不写默认为1.
如:
@r 随机选中2位玩家
@r 随机选中10位敌对生物
目前就只学这些参数,通过以后的学习会了解到更多,欢迎关注订阅。
二.一些常用指令
本节课我们先了解一些比较简单的指令来强化目标选择器。
•kill
大部分minecraft玩家最先了解的指令,作用是清除实体,在基岩版中无法清除创造玩家
格式:kill [目标选择器]
如:
kill/kill @s 紫砂
kill @p 清除最远的玩家
kill @e 清除所有家族为生物的实体
kick
非常悲惨,在1.16更新中格式移出了目标选择器,作用大打折扣,用于踢出指定名字的玩家(无法踢出房间创建者)
kick <玩家名字> [文本]
如:
kick "nb" nb 名为nb的玩家被踢出,并在踢出房间的那个界面显示“nb”.
•op/deop
只能在聊天框输入,用于给予/去除玩家管理员权限.
/op(deop) <玩家选择器>
如:
/deop @a 去除所有玩家的管理员权限(建议别乱玩)
/op @p 给距离最远的一个玩家管理员权限
本期教程到此结束,这套指令教程到目前为止一共有五套,剩下的我会陆续更新,尽情期待吧!
上期教程传送门:
【授权搬运】FeathStudio指令教学课(第一期)
https://klpbbs.com/thread-50900-1-1.html
下期教程传送门:
【授权搬运】FeathStudio指令教学课(第三期)
https://klpbbs.com/thread-51710-1-1.html
页: [1]