开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[BE教程] 【授权搬运】FeathStudio指令教学课(第二期)

 发表于 2022-7-19 15:28:08 来自手机|显示全部楼层|阅读模式 IP:福建省
本帖最后由 哈里谢顿 于 2022-7-22 15:40 编辑

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

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2024-12-28 14:34

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3