让我们在旁边扔一颗钻石看看:
?〇□┠█(插图93-3)
你会发现红石火把熄灭了。
这是为什么?因为命令方块检测到了钻石,成功次数大于0,红石比较器将成功次数转化为红石信号后强度也就不等于0,同时转化后的红石信号也被输入到了非门中,也就是非门的R=1。红石火把接受到红石信号后就进入关闭状态,也就是非门的C=0。这样子,我们就成功地将testfor指令的执行结果反转,使得接下来的操作能够加以进行。
下面是完整版的『钻石生成装置』:
?〇A→?┠█!B→C→D→(插图93-4和93-5)
图例
〇······拉下的拉杆
A→······循环型命令方块,写有『testfor @e[r=2,name=钻石,type=item]』
┠?······红石比较器
█······任意完整方块
!······红石火把(可能是亮也可能是不亮,故这边用感叹号)
B→······脉冲型命令方块,写有『summon armor_stand diamond 84.47 -60.00 -91.30』
C→······连锁型命令方块,写有『replaceitem entity @e[name=diamond,type=armor_stand] slot.weapon.mainhand 0 diamond』
小主,
D→······连锁型命令方块,写有『kill @e[type=armor_stand,name=diamond]』
整个装置的运行流程如下:
如果半径2米内有钻石,就
→啥也不干
否则,就
→①生成一个盔甲架
→②让盔甲架拿着一颗钻石
→③然后杀死盔甲架,钻石就掉落了
非常简单是不是?这就是『非门』在指令中的主要用途。只不过随着execute指令的升级,非门也就慢慢地在指令圈中步入了历史。
......
所以逻辑门就这一种?肯定不是。
接下来我会快速介绍其他的一些门,这些门由于在指令中的使用频率会比非门少很多,我们就不详细讲解。如果你对红石感兴趣,我记得TIS(Trinity Union,中国最厉害的生电服务器,你应该有听说过)他们的B站账号好像有在做红石教程,还有明月庄主好像也有教程。
与门(AND Gate),翻译成中文就是『当.....和.....都成立时,才会.......』。也就是说,与门是用来判断两个或两个以上的条件,当这些条件都成立时,输出C才会等于1。在编程语言中,与门也就是逻辑运算中的『且』,符号常常使用『&』或『&&』。
在Minecraft中,与门有N多种做法,这边就列出一个最简单的一种:
?◆⊕(这里的拉杆为R1)