以下是我关于为什么要这么做的念念叨叨......你可以直接进入主题
命令教程(一)有关指令,选择器,/kill,与命令方块
声明:
1. 本教程默认所有读者看过本系列之前的内容。作者不对可能冒出来的术语或方言负责。以前帖的链接在最后。
2. 本系列教程默认读者拥有关于Minecraft游戏的基础了解。
3. 本系列全部教程 均 适用于当前Java最新版(1.19.3) 但本帖中的内容仍适用于1.13~1.18 。
4. 本系列教程致力于基础原理而非使用方法,因为某些原因,这是本声明里最重要的一条。
5. 本期教程所有涉及到的命令均会在最下方列出,以便查阅。
<<<<<< 返回系列目录 ←←
前言
好吧好吧,我知道百分之99的人应该都知道什么是指令。但作为一篇完整的教程, 这 就是我们要开始的地方。
什么是 命令 ?
命令(Command)是通过输入特定文本字符串而激活的高级功能。
当然,我不说wiki写的不好。作为wiki,它就得这么写。
我说它是废话,是因为你无法从中获取什么信息。
什么是高级功能?它能用来做什么?
但没关系,了解一样东西,最简单的方法就是看看它本身。
刚刚说了,任何命令都由一串“特定的”字符串组成。这串字符当然不是随机的。它需要遵循某种规律—— 格式 。
1.1 命令格式
任何语言,无论是人的语言又或是机器的语言,都遵循某种语法或格式。
现在,按T键(或聊天键)打开你的输入窗口。你可以在这里输入指令。
首先,你需要的是 指令前缀 “ / ”。这个前缀用于告诉电脑,这是一条指令,而非正常聊天。
紧接着前缀的,是 指令头 # 。这决定了你要执行哪种命令。
指令头:你要干什么?要吃?要喝?要行走还是要睡觉?
我要喝
好。但是,仅凭这一点信息还是不够的。我们需要在指令头之后加入更多的条件与描述 :
子命令: 具体点,你要喝啥? 牛奶
目标: 谁要喝? Dahesor (我的ID)
坐标: 在哪里? 世界的中心点
指令模式: 怎么喝?用吸管?小口抿? 仰脖端
值: 喝多少? 400毫升
NBT: 再具体,什么牌子的?除没除菌?离过期还有多久? ......
以上的每一条信息,被称为 元素(Elements) 。
元素与元素之间以 空格相隔 。这就是指令的格式。 (实际上,这就是你的游戏ID中为什么不能出现空格的原因之一!不然的话,我们将无法在指令中选中你的ID!你名字空格后面的内容将被视为下一个元素)
一条指令看起来像这样:
/指令头 子指令 目标 坐标 格式 值 模式 ......
(并不是每一条指令都必须包含所有元素,也同样有没在上方写出的元素。)
举个例子:
- /gamerule doDaylightCycle false
doDaylightCycle: 目标 doDayLightCycle: 是否进行日夜交替
false: 值 false:假
连起来:更改游戏规则,关闭日夜循环!
简单吧。
# 临时编的词,方便理解
权限
唉唉,等等,在执行指令之前,我们有一件最重要的事情——你有权限吗?
在多人游戏中,你需要拥有从管理员处给予的特定等级的OP权限来执行需要特定权限的命令。
所以如果你想使用命令的话,可以打开单人游戏,并确保在你创建它时勾选了“允许作弊”的选项。
没勾选?这时你就需要进入暂停选单,选择“对局域网开放”,打开允许作弊了。
不过,你的游戏会对局域网开放,所以......可能正在玩MC的你的邻居突然闯入你的世界~
(若不使用这种方法,也可以通过外部NBT编辑器编辑存档文件夹的level.dat以允许作弊,这里就不细讲了)
1.2 命令/Kill
让我们看向一个简单的指令:
/kill 即 杀死命令 。(或者专业点, 清除命令 )
来,这将是以后介绍所有命令是的方式,先给出格式:
- /kill <目标>
"<>" 用于表示必要的元素
这不难——假如你要杀死我,你就需要把“<目标>”替换成我的ID——Dahesor:
- /kill dahesor
这条指令将会杀死我。
同理,如果你想杀死MysticNebula70(MInecraft Wiki 名人)你就需要输入:
- /kill MysticNebula70
(咳,抱歉黑猫(这位的绰号))
这不难吧。
不过这时,我们有了一个问题:如何选择一个拥有不确定ID的玩家?
举个例子。你做了个迷宫,并准备坑玩家一把。一旦玩家找到出口,就在终点线前用/kill把Ta杀死。
现在问题来了。你将地图发布,并不知晓谁会来玩你的地图,也不知道Ta的ID会是什么。
现在,你如何杀死Ta?
你需要一种根据某种规则选择特定玩家的方法:
选择器
你知道么,在1.7.10以前使用/kill自 这 杀是会出现一个彩蛋:"哎呦,这看起来很疼"(原句记不清了,但大致如此)
1.3 选择器
选择器(Selectors) 为你提供了一种选择不明ID玩家的方法。
MInecraft命令共有5种 * 选择器:
@a 选择所有玩家
@p 选择最近玩家
@r 选择随机玩家
@s 选择执行者
@e 选择所有实体
这是,你只需要将“<目标>”替换为以上的一个选择器即可:
/kill @a 会杀死所有玩家——包括你自己
/kill @p 会杀死最近的玩家——也就是你自己——你执行的指令,离你自己最近的当然是你自己。
/kill @r 会随机挑一位玩家杀死——单人模式下还会杀死你自己。
/kill @s 会杀死执行者——你自己
/kill @e 会杀死所有实体,这包括了玩家,生物,掉落的物品与经验球,飞行中的箭矢或雪球,矿车,船,等等——这当然包括你自己。
你的问题,用选择器就得以解决。
你只需要当玩家走到迷宫终点时,运行/kill @p 就好了
等等,不对,还没完——
别人游玩你的地图时你不在场,无法执行指令。总不能放块告示牌让玩家自己执行吧。
你需要某种可以代替你执行命令的机关:
命令方块
* 在教育版中,还有两种用于选择吉祥物的指令,在这里不予讨论。
1.4 命令方块
那么这些方块将可以通过红石信号控制来执行命令。只要使用恰当的命令,很多东西都能被编程。
1.4.1获取
命令方块不存在于你的创造模式物品栏中——所以别翻你的背包了。你需要give指令来获取它。
你不需要知道它的原理,照打就好:
- /give @p command_block
只要输入正确,你将获得命令方块(再次强调,游戏版本很重要!)
把它放在地上,它应该长这样:
(背景是随意用结构方块生成的“村庄入侵图”QAQ)
右键点击就可以打开它的UI:
好,先无视下面那三个复杂的按钮,只看上面的的输入框。这就是你要输入指令的地方。
简单地输入/kill @p,然后点击完成或敲一下”Enter“就可以了。 (警告!取消或”Esc“不会保存,不要好不容易打好长一串指令然后条件反射按”Esc“!)
找个拉杆按上去,一拉——指令执行——你死了。
很简单。
所以,现在是时候看看下面复杂的部分了。
(注意!由于不再需要将命令与普通聊天区分,在命令方块中,你可以不输入指令前缀"/"!)
1.4.2 模式
首先,让我们看向左侧的按钮,对,就是那个写着”脉冲“的。
这是命令方块的运行模式。点击按钮就可以在全部三种模式中循环:
总共有三种模式: 脉冲(Impulse),连锁(Chain),和循环(Repeat) 。
- /gamerule commandBlockOutput false
现在,让我们看向第二个按钮:条件制约/不受制约。什么意思呢?这个选项只对连锁型命令方块有效,那就是:当选择条件制约时,只有前一个命令方块执行成功时,它才会紧跟着执行。
比如,你输入了一条错误的指令:/kiiiill @a
嗯,打错了。
或者: /kill Dahhhhesssor
嗯,没有一个叫”Dahhhesssor“的玩家
以上两种情况,指令都无法执行。
这时,被这个命令方块指向的连锁型命令方块,如果调成条件制约,也不会执行!
这是你遇到的第一个可以进行条件判断的方法。
(条件制约时,你的命令方块箭头材质的后方会出现一个豁口)
注意!条件制约只是“不会执行”而不会“阻止连锁”!
比如,下面这种情况:
假设,你只在第三号与第五号命令方块中填入了正确的指令,其他三个都是瞎写的关于邻居大嗓门大妈如何如何的抱怨。
即使最下方的一号脉冲型命令方块中输入的不是指令,也仍会触发连锁——只要被 激活 ,无论是否 执行 ,都会 触发连锁 。
第三号命令方块除了拥有正常命令以外,还设定了 条件制约 ,这导致它无法执行,因为第二号中填入的不是指令QAQ。
但连锁并不因此而断,五号命令方块仍可以执行它的指令,因为它不受制约:第四号命令方块无法执行也没关系。就像我说的: 条件制约只是“不会执行”而不会“阻止连锁”!
连锁会一直进行下去! (直到默认的65535次连锁上限 (我居然把这串数背下来了) )
接下来,让我们看向最右侧的按钮:
1.4.4 保持开启
这个很简单:命令方块是受红石控制还是保持开启。
一般来说,我们只在循环型命令方块上打开此选项——这会让它“真”一刻不停的执行其中的指令。此外,它也可以让连锁型命令方块保持住“准备被连锁”的状态,就像上面说过的那样。
脉冲型命令方块用不上它——在你保存的那一刻,命令就会被执行,然后就没动静了(若想再次运行,要先退出激活状态,然后再次激活)。
1.4.5 输出结果
最后,看一下那个“叉”形按钮。
这是你的指令输出,比如使用/kill时,它会提示
- 清除了3个实体
这是除错用的。当你不需要时请将它关闭,这可以节省内存。
哦哦,等等,在结束今天的内容前还有一件事
帮助指令/ help
在游戏中,你总是可以使用指令:
- /help
使用本指令可以查看所有可用的命令及其格式-
大概是这样
你可能看不懂。
很正常。(必竟上面的信息根本都没给全……能理解就有鬼了。)
你在上面看到的所有,那一大滩的的命令-
我们都会在接下来的内容中讲到。
那,为各位,也为我自己——
加油啦
以上就是第一部分的全部内容啦
呼~这么多,终于结束了。嘛,这也是第一课有很多要说的缘故。
再见各位......有那里写错了,或者有要补充的,欢迎指正。
啊......忘了说Tab补全的事了......算了以后再说吧
下一次,就讲tp与三种坐标吧。
困了......这也是为什么后半段质量下降的缘故......过两天会改的,感觉对你有帮助的话就随便在下面回点什么吧......毕竟,读者的回复是对作者最大的鼓励之一啊。期待以后的话......点个收藏吧......新帖发了会提醒的。
我要去补觉了......修仙到现在QAQ
上一篇: 这是第一篇(^_^)
索引:系列《命令教程“真”从零开始》
下一篇:
[教程] [命令] 命令教程“真”从零开始 (二) 命令tp与相对,局部坐标与朝向锚
