Mirence 发表于 2023-1-17 19:39:23

【麦仁丝课堂】第一讲 命令和命令方块

本帖最后由 Mirence 于 2024-6-14 19:35 编辑

指令基础教程
第一讲 命令和命令方块

一、前言
    我将我的世界技能分为四大类——生存、建筑、红石、指令。前三种相信大家都耳熟能详,而第四种——指令,虽然大家都知道这种东西,却一般都只知道皮毛(因为即便这样也足够了),许多玩家都会用/kill、/tp、/gamemode等指令来“改善”游戏体验。我将指令放在与红石同等地位,是因为我认为它与红石一样,都是能够被“深入研究”的。精通红石的玩家可以被称为红石大师,那么精通指令的玩家亦可以是指令大师。
    而麦仁丝课堂,就是一个能够带你从入门到深究指令的地方。
注意:本讲内容虽然比较基础,但有不少概念性的内容,不好吸收,若对指令有一定的了解建议先看末尾的思维导图,再挑出重要内容去理解。

二、命令的概念
    在我的世界中,我们平时所称的“指令”准确来说其实是只是一段文本,而指令的作用就是执行命令,虽然说两者的意思相近,但将/kill、/tp等这些指令称为“命令”是更加准确的说法,但麦仁丝这里继续将命令/kill、命令/tp等称为/kill指令、/tp指令,它们分别代表着以/kill开头和以/tp开头的指令。(这里的“/kill指令”是一个整体,无需拆开理解,所以并不表示文本“/kill”)

命令(Command)是通过输入特定文本字符串而激活的高级功能——摘自Minecraft WIki
    命令是能够控制世界规则的工具,拥有操作员权限的玩家、命令方块、命令方块矿车均能够实施命令。
    命令也被称作控制台命令,或者是斜杠命令,麦仁丝课堂中为大家带来的都是控制台命令。
    命令除了包括我们平时在游戏中能够输入的“常规指令”以外,还包括服务器指令、外部指令和开发者指令,服务器指令可在大型多人网络服务器中由管理员使用,外部指令一般来自模组和插件,开发者指令是游戏开发者在测试时才能够使用的指令。而本教程并不会涉及后三者。
    下图是我的世界基岩版1.21版本中所有的指令及其功能:

   上图中几乎所有命令都将会出现在以后的教程中。

三、命令的发展历史
    早在当初的携带版Alpha的0.7.4版本中,游戏就已经支持执行命令,不过那时还没有加入任何指令,直到了0.16版本,游戏中终于加入了总共29条指令。
    到了携带版,也就是1.0版本,游戏中加入了末地,而且在更新中也不断地加入了许许多多的指令,从这开始,基岩版的游戏内容已经基本追平了Java版。
    到了携带版1.2版本,之前的携带版,win10版,Gear VR版,Fire TV版等统一改名为基岩版,也就是我们今天看到的样子,从这个时候开始,基岩版与Java版在游戏内容上基本同步,只不过因为编程语言差异等原因,二者在特性上始终有着不少差异。
    基岩版以来的每一个版本都有不少关于指令的更新,截止到1.21版本基岩版中已经总共有78种不同的指令。

四、命令的组成
    麦仁丝将一条指令分为三个部分——前缀、核心部分、以及语法部分,前缀就是指令开头的斜杆“/”,核心部分就是斜杆之后的那个代表命令类型的单词,语法部分就是核心部分后面的部分。例如指令“/give 小麦 wheat”中,“/”是前缀,“give”是核心部分,“小麦 wheat”是语法部分。

    每一个指令都有它自己的语法,语法由各种各样的语法结构组成。关于语法结构,麦仁丝这里有两种分类标准:
1.按照语法结构的性质来分,语法结构可以简单地分为以下四类:★
   ①纯文本(字符串);②英文名称、种类;③数字(分为整型、浮点型*);④布尔型(true与false)
*简单地说,整型指整数,浮点型包括了整数和分(小)数,浮点型也可以叫做实型
2.按照语法结构的内容来分,语法结构分为又可以详细地分为很多类,如位置结构、物品id、目标选择器等,还有很多不适合归类在一起的“其他结构”,因为这些结构由指令本身的语法决定。为了方便理解,以后本教程将采用此分类。

五、命令执行对象★
    在讲命令之前,我要先告诉大家在命令执行过程当中各个对象的称谓。在命令执行过程中,实施命令(也就是发送这条指令)的对象叫做“命令实施者”,受该指令所影响的对象叫做“命令执行者”,命令执行者所发送的文本叫做“指令”,而这条指令所实现的功能叫作“命令”(这里的“命令”的定义与上文Minecraft Wiki中的解释有略微不同,但影响不大)。
    很多指令经常涉及到空间概念,所以命令实施和执行时还有“命令执行位置”这一概念,包括了命令执行点、命令执行方向以及命令执行维度,这些概念看字面意思就即可理解,至于理解这些概念的作用,大家在以后的指令教程中会逐渐明白的。
    这其中有些称谓是麦仁丝自己定义的,只是为了让大家能够搞清楚在一项命令执行过程中各个对象之间的关系,以便于我以后能够更好讲述一些命令。
    例如:一名房主在聊天框中输入“/give 小仁 gold_ingot”并发送,于是名为“小仁”的玩家就获得了一个金锭。“/give 小仁 gold_ingot”是指令,“给予小仁一个金锭”既是房主实施的命令,也是命令被执行产生的结果。该房主是命令实施者,玩家小仁是命令执行者,且命令执行点就是房主当前所在的坐标,命令执行方向就是房主的朝向,命令执行维度就是房主当前所在的维度。(所有教程中例子均默认开启作弊)

六、能够实施命令的对象
    在我的世界中,不同的命令有着不同的权限等级要求,权限等级分为0、1、2、3、4五种,有些命令即使不是操作员也可以使用,麦仁丝将权限等级要求大于等于1的指令统称为“需要操作员权限的指令”,权限等级要求为0的指令统称为“无需操作员权限的指令”。当实施命令的对象的权限等级大于等于命令要求的权限等级时,则能够执行命令。大部分指令都需要操作员权限才能使用。
    所以,只有拥有操作员权限的玩家、命令方块、以及命令方块矿车能够大部分执行命令。
如何给予其他玩家操作员权限:世界创建者(房主)始终拥有操作员权限,拥有操作员权限的玩家可以通过指令“/op 玩家名”给予该玩家永久操作员权限,也可以在菜单界面(非冒险模式下)将其他玩家的权限修改为“操作员”来给予该玩家临时操作员权限,当这个玩家重新进入游戏后,他将不再拥有操作员权限。拥有操作员权限的玩家也可以通过指令“/deop 玩家名”来永久撤销该玩家的操作员权限。
七、命令实施与执行的条件
    命令能够执行需要满足以下条件:
1.开启“允许作弊”:
    必须要开启菜单-设置-游戏中的“允许作弊”按钮才能执行命令,否则一切命令都无法实施或执行。
2.存在该指令:
    如果说这条指令根本不存在,那么命令当然无法实施或执行。
3.命令实施者的权限足够:
    大部分指令都需要操作员权限,权限不够的玩家无法实施命令。
4.指令语法没有错误:
    每一个指令都有对应的语法,如若指令出现语法错误,那么命令将无法实施。
5.存在命令执行对象:
    若在游戏中找不到指令中涉及的目标,那么命令也会无法执行。
6.指令中的所有内容在限制范围内:
    有些指令的语法结构本身对其内容有着限制,例如一些指令中对数字的限制,如/give指令中给予一次物品的数量只能在1~32767之间。若语法结构中的内容在限制范围之外,那么命令也会无法实施或执行。
   
    以上只是命令能够实施或执行的基本条件,至于命令能否执行成功,除了满足这些基本条件外,部分指令还要满足其他的条件。如/fill指令除了填充方块的数量不能超过32768个外,填充方块的位置也不能够在当前的区块加载范围之外。

八、命令执行过程 ★
1.输入指令
    我们已经知道指令由三个部分组成:斜杠与核心部分紧贴,与语法部分之间用用空格隔开,而且语法部分中的每一个语法结构都用一个空格隔开,甚至一个语法结构中的内容可能也会用空格隔开,比如坐标结构。
    拥有操作员权限的玩家可以在聊天框和命令方块界面中输入并利用指令,玩家打开聊天框并输入“/”表示开始输入指令,这是聊天内容会被指令提示给覆盖,在输入指令的核心部分之前,聊天框会展示预选的指令,并在后面说明了指令的功能;在输入指令的语法部分时,聊天框会展示该命令的所有语法,并根据玩家输入的内容展示可能的语法和接下来可能输入的内容,展示的语法中亮起的部分则为已输入或者正在输入的语法结构。
    在聊天框中输入的一些指令时可以省略一些必要的语法结构,以便玩家更快速地输入。而且聊天框中为拥有操作员权限的玩家提供了“快捷指令”按钮,部分指令可以通过它快速地输入,包括/weather指令(设置天气)、/tp指令(玩家间传送)、/time指令(设置世界时间)、/setworldspawn 指令(设置世界出生点)。
    如果玩家使用的是PC端或者连接了键盘,那么可以直接按键盘上的“/”键进入聊天框并输入指令(此时前缀已经为玩家写好),输入指令时,按“Tab”键来快速选择和填充可能会输入的指令核心部分和语法部分,以此加快输入指令的速度。

    拥有操作员权限并处于创造模式下的玩家可以使用命令方块和命令方块矿车,点击它们即可打开命令方块界面,可以在“命令输入”框中输入指令。

2.实施与执行命令
    指令发送后且符合规则即可实施相应命令,命令方块和命令方块矿车在满足激活条件和执行条件后就能实施相应命令。
3.反馈与输出
    绝大部分的命令执行时,无论命令是否执行成功,最终都会有命令反馈和输出:
    若命令执行失败,则会告诉命令实施者可能的执行失败的原因。
    若命令执行成功,那么将会告诉命令实施者和命令执行者相应和的反馈信息,当然,只有玩家和命令方块上可以看到这些信息。
    如果命令实施者与命令执行者是同一个玩家,我们会发现对命令执行者的反馈信息总是在对命令实施者的反馈信息的前面。
    如在下图中,第一条消息是/time指令对命令实施者的反馈,第二、三条消息是同一个/give指令的反馈信息,不过第二条是对命令执行者的反馈,第三条是对命令实施者的反馈,可以看出这位玩家用/give指令给予了自己一个空气。

    除此之外,拥有操作员权限的玩家还能看到自己以外的命令实施者的命令执行反馈(包括命令方块和其他拥有操作员权限的玩家), 开头会写明命令实施者的名称,可以很容易与反馈给自己的内容区别开来。


九、命令方块
   命令方块是能够实施命令的方块。玩家可以在命令方块中输入指令,当命令方块满足一定条件时,则会按照内部的指令去执行相应的命令。
   命令方块中的指令可以不加前缀“/”,甚至核心部分的第一个字母或是所有字母可以大写,但是指令必须完整,不像在聊天框中有的指令可以省略一些必要的语法结构,且不会像在聊天框里那样为玩家提供指令语法参考(这就考验玩家对指令的熟悉程度了),但是如果连接了键盘,那么依旧可以通过“Tab”键补全正在输入的语法结构。
   学会使用命令方块才说明我们已经能够灵活运用指令,命令方块的功能极其强大,麦仁丝会在“命令方块进阶教程”中为大家分享一些自己的成果,也会在未来的“命令方块基础教程”中教大家学会如何使用命令方块,
   关于命令方块的更多内容,我将在以后的“命令方块基础教程”中为大家详细地讲述。



   以上便是本期的所有内容,麦仁丝让大家了解了指令的组成和命令的执行,以及对命令方块进行了简单地介绍。教程中有一些内容是麦仁丝原创的概念,大家可能会感到陌生,这都是为了能在以后的教程中让大家更方便地理解麦仁丝所讲解的内容,如果看不懂,也没有关系,因为这并不会对后来的指令学习有较大影响。

(该讲教程最早于2021年7月30日发表于网易我的世界论坛,现麦仁丝已转驻苦力怕论坛,将停止在网易我的世界论坛上的发布教程)

第一讲 命令和命令方块 思维导图:


点此前往 麦仁丝课堂 目录

(本期视频版教程尚未发布)

本讲内容参考资料:
Minecraft Wiki:
主条目命令

本期内容更新日志:
2023.8.20扩展了“命令执行点”为“命令执行位置”,其包括了“命令执行点”、“命令执行方向”、“命令执行维度”。
2024.6.141、修改了部分内容的表述;
         2、在“八、命令的执行过程”中增加了有关“快捷指令”的内容;
         3、将“二、命令的概念”中全命令图更新至1.21版本;
         4、“实型”从此改为“浮点型”






Herobrinemc1008 发表于 2023-1-17 19:46:02

啊,知识穿过大脑却不留下一点痕迹的感觉~

翠娥 发表于 2023-1-17 19:58:10

很棒!讲了这么多对我都是没用的,非常简单的原理被你这么官方化变得更水了,主要是还要读者提取重要内容,像写阅读理解似的[哔哩_笑哭][哔哩_笑哭]

已注销_N77z6A 发表于 2023-1-17 20:04:45

感觉文笔很好,也很有条理[贴吧_真棒]

LineXics 发表于 2023-1-17 20:50:00

讲的很好,没听懂

6281x块Judoge 发表于 2023-1-18 00:24:00

头好痒,应该是要长脑子了[贴吧_滑稽]

謝a. 发表于 2023-1-19 09:24:39

这张图怎么这么模糊?作者的手机是乐丰v5吗(在玩我的世界国际服就这么小字[只有中文不正常,英文正常点])

Mirence 发表于 2023-1-19 10:46:42

mc中的原神 发表于 2023-1-19 09:24
这张图怎么这么模糊?作者的手机是乐丰v5吗(在玩我的世界国际服就这么小字[只有中文不正常,英文正常点]) ...

电脑截图的,窗口再大点字就会变大塞不下了,小一点字就太小看不清楚[贴吧_勉强]

Mirence 发表于 2023-1-19 16:16:17

mc中的原神 发表于 2023-1-19 09:24
这张图怎么这么模糊?作者的手机是乐丰v5吗(在玩我的世界国际服就这么小字[只有中文不正常,英文正常点]) ...

帖子图片已更新,我重新做了一个清晰的

缔造者 发表于 2023-1-19 16:52:36

支持优质教程!
页: [1]2
查看完整版本: 【麦仁丝课堂】第一讲 命令和命令方块