甚至你对着放,也是没有问题的:
B→←A
总的来说,命令方块的方向决定了执行信号传递的方向。一串方向正确且能够正常传递执行信号的命令方块,就是一个命令方块链。命令方块链是命令方块知识点中最难的一部分,搞懂这个,你基本上也就入门了。还是那句话,我们会在第九十九章详细讨论这东西,也就是命令方块链和连锁型命令方块。
现在我们来打开命令方块。
右键(键鼠模式)、按下RT(手柄模式)或点击(触屏模式)命令方块以打开。打开命令方块要满足一定条件,Java版的条件是:处于创造模式,并且玩家权限等级至少为2(正常单人游戏都能打得开);基岩版是需要操作员权限(或者说玩家权限等级至少为1)。如果条件不满足,是无法打开的。
小主,
至于玩家权限是什么东西。放心,我们会在第六章了解到玩家权限的相关内容。
打开命令方块后,Java版的界面顶上是输入框,框下面是一个“O”的按钮,按了可以打开一个框,并且按钮变成了“X”,这个框用途就是“显示上次执行、检查指令的结果”。
为什么还要多出一个检查呢?检查跟执行是不一样的。当你修改完后退出界面,命令方块会自己检查一下,如果有错会显示一些信息,如果都正确那就什么也没有发生。执行的话就不一样了,执行就算正确也会显示消息。这个框在Java版默认不显示,在基岩版默认显示,据说关掉可以让游戏更流畅一点。
再下面是三个选项,分别显示:
脉冲|不受制约|红石控制
这三个选项具体的用途是:
第一个显示脉冲的选项——选择命令方块种类,可以选择『脉冲、连锁和循环』,即上面介绍过的三种类型。
第二个显示不受制约的选项——这可以选择『不受制约』和『条件制约』(基岩版中是『无条件』和『有条件的』)。默认是选择『不受制约』。下面我们会详细了解这选项。
第三个显示红石控制的选项——这可以选择『红石控制』和『保持开启』(基岩版中是『需要红石』和『始终活动』)。默认是选择『红石控制』,即命令方块必须要收到红石信号后才能被激活。如果改成『保持开启』,那么命令方块将会始终处于激活状态。
『不受制约』和『条件制约』分别有什么作用呢?
我们知道,命令方块可以执行指令,而执行指令无非就两种结果:指令执行成功和失败。
命令方块其实会保留其最后一次执行指令的结果,这个保留下来的结果并不是只能被我们也就是玩家所看见,它还有三个作用:
①被其他指令探测,将结果信息输出到计分板中。
②被红石比较器探测,将指令执行成功的次数转化为红石信号强度等级。
③屁股对着这个命令方块的其他命令方块可以检测该命令方块的指令是否执行成功,并根据该条件判断自身是否需要执行指令。
前两个作用我们会在以后了解到具体用法,第三个作用其实就对应着上面的『不受制约』那个选项。
命令方块在执行前,如果这个命令方块是『条件制约』的,那么它就会检查一下它屁股对着的那个命令方块最后一次执行指令是否执行成功,如果成功才会执行。比如下面的例子:
←B←A
A:循环,不受制约,始终活动
B:循环,条件制约,始终活动
A不管如何,除非游戏停止运行,它都会一直运行指令,每秒最高可以运行20次。
B不管如何,也会一直尝试运行指令。只不过由于它是『条件制约』的,所以它在尝试执行指令之前,会先检查一遍A命令方块是否运行成功,如果成功才会运行指令。
那么这有什么用呢?
假设A里面写着一条指令,可以检测半径30m范围内是否有怪物出现,而B里面写着一条能够发送警告消息的指令。如果半径30m内一直没有怪物出现,那么A的指令就会一直执行失败,虽然B也在尝试执行,但由于A一直失败,B也就不会真正执行指令,也就是不会发出警报。但如果A突然执行成功了,也就是发现怪物,那么B就会真正执行指令,发出警报。
当然,像这种由两个循环型命令方块构成的命令方块链十分少见,因为如果把B换成连锁型,也可以达成一样的效果,还可以降低一点CPU消耗,岂不美哉?
总而言之,条件制约的命令方块在运行前会检测其屁股后面的命令方块最后一次运行指令是否成功执行,如果那个命令方块最后一次成功运行了指令,这个命令方块也会运行,反之则不会运行。对于不受制约的命令方块来说,则并不会进行上述检查,而是直接运行指令。
懂了吧?如果不懂,多多实践即可。
基岩版的命令方块界面和Java版大不相同——其界面有两列,左侧主要是对命令方块本身状态的一个设置,右侧主要是用于填写命令。