Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
注册
Advertisement
Disambig gray  本文章介绍的是一类特定的红石电路。关于其他电路,请见“红石电路”。
Clock
此条目需要更新。

条目中某些信息已经不符合当前版本情况。

此页面涵盖了一些内容不足以单独成篇的红石电路。

ABBA电路[]

ABBA电路有一个输入和多个输出。当输入端有信号时,输出端按一定顺序开启(例如先A后B),而当输入端关闭时,输出端反序关闭(先B后A)。

输出端激活和关闭的用时可以用中继器的不同延迟来更改。

下面的这些设计都可以无限延长。

已知最早的发布:2011年7月5日(基础概念)[1]、2012年6月20日(Floor ABBA)[2]和2012年7月18日(Ceiling ABBA)[3]

当你应用活塞时可能会遇到需要按照一定次序激活它们,但按相反的次序关闭。例如隐蔽型活塞门,它们的控制电路一般都很庞大。本篇目介绍的压缩电路之所以被命名为ABBA切换器(ABBA Switch),是因为如果以双输出端为例,它被设计为先开启输出端A,再B,然后关闭则是按照先B后A的顺序。

红石图例:ABBA电路

集成组合逻辑[]

本条目包括各种利用逻辑门的依次组合达到特定逻辑功能的模块装置。

二进制运算电路[]

包括半加器、全加器、减法器等。他们能够对输入二进制数进行运算并输出结果,在现实生活中这些组件均为数字信号处理电路与运算电路的基础。详见高级红石电路条目。

编码器与译码器[]

详见高级红石电路条目。

数据选择器[]

Mux

数据选择器

数据选择器(Multiplexer, MUX)能够允许你从一个或多个输入信号中选择一个直接作为输出信号。右图的数据选择器能够多层级联,从而提供3位(3 bit)或更多位的数据选择功能。这个方案中A端和B端为输入端,C端为选择端。


PistonMux

活塞数据选择器(输入输出端为了便于讲解已延长)

PistonMux V

纵向的活塞数据选择器

活塞的引入使得数据选择器的方案更为简洁,反应速度可与旧版媲美,而且体积只有3×3×2。

数据分配器[]

大型:http://i1221.photobucket.com/albums/dd478/AJFayer/Relay.jpg

中型:http://i1221.photobucket.com/albums/dd478/AJFayer/RelayM.jpg

小型:

Relay

继电器(小型)

数据分配器/解复用器(Demultiplexer)允许你选择将一个输入导向多个输出的某一端。其中具有两个输出端的又叫做继电器(Relay)。在现实生活中,“数据分配器”通常用于数字信号;“解复用器”通常用于模拟信号;“继电器”通常用于电气工程领域。

继电器由两个与门与一个RS或非锁存器组成。默认情况下,继电器某一输出端有效,通过对锁存器的操作你可以将输出换成另一个端口。不像单个RS或非锁存器具有稳定不变的输出,继电器允许你输出可变信号——也就是说你可以不输出任何信号,也可以选择信号的输出端。这个特点对于锁,以及其他涉及到接收到触发事件才输出可变信号到某输出端的应用实例,是十分有用的。不像现实中的继电器,你不需要稳定的电源输入以保持第二输出的激活。本方案需要电能以重置第一输出。

这里有一个你需要应用继电器的例子:一个锁,需要你以指定顺序按动多个按钮以开启。继电器允许你让单个按钮可以被使用多次(继电器将信号在不同时间导向多个输出端)。你还可以制作需要用开关输入多个数字的多位二进制组合锁。你可以用四个开关输入4位数字,第五个开关用于验证数字。第五个开关可以将继电器切换到其他开关从而让你能够使用同一个开关输入第二个数字。

-通过将RS或非锁存器的两个输出到任一与门来建造继电器,然后对其他与门输入端加入共同的一个输入端。触发锁存器就能够改变输出。

纵向版本:

VertRelay

纵向的小型继电器版本

本纵向版本体积为8×5×1,荧石块用于隔离两个与门之间的输入。拉杆用于切换输出,按钮用于激活选中的输出。

这里还有一种更加集成化的继电器设计。A为输入端,B为选择端,C和D为输出端。

FirstLayerRelaySmall

第一层

SecondLayerRelaySmall

第二层

三态缓冲器[]

三态缓冲器(Three State Buffer)相当于一个由一个使能信号B控制、输入为A输出为C的开关。当B为假时,开关闭合,输入A与输出C相同;当该信号为真时,开关断开,输出C与输入A无关。这样的话就能实现输出端的低电平、高电平与高阻态(即无关态)三种状态的变化。这类电路在现实生活中的集成电路技术中应用广泛。

一般习惯将一个输入(B)被取反的与门作为三态缓冲器,其逻辑关系与蕴含门有相似之处。因为蕴含门一般由一个输入端被取反的或门组成——故只需要将蕴含门的或门换成与门(取反的输入为B端),或是将输出取反(取反的输入为A端),就可以轻易地改造为三态缓冲器。

A B C
0 0 0
1 0 1
0 1 高阻态
1 1 高阻态

集成时序逻辑[]

本节包括各类集成化的时序逻辑模块装置。

移位寄存器[]

移位寄存器(Shift Register)实际上是D触发器的串联,或是共享时钟输入的JK触发器序列,使用红石中继器的锁存功能也能制作移位寄存器。特点是前一个触发器的输出还会连到下一触发器的D输入端。故移位寄存器按照时钟输入的触发速度能够将串行数据依次显示在各个输出端。中文视频[4]


移位寄存器具有多种移位方式:

逻辑左/右移位: 逻辑移位指溢出的位不会被储存。在另一端多出来的空位被补零操作代替。因此逻辑移位方式适用于无符号二进制数字。

循环移位: 移位的另一种形式是循环移位,一般称为“位循环”。在位循环中,从一端溢出的位会在另一端在被补回来,就好像序列被连成环了一样。

算术左/右移位: 算数左移位相当于逻辑左移位。然而在算术右移位中,并非是在左端补零,而是对最左端数字进行复制。这一特点允许你对补码形式的二进制数进行除2操作——即使它是负数。(左移位允许对带符号或无符号数进行乘2操作)

随机数据生成器[]

随机数据生成器可以输出随机生成的数据。这里有一个随机数据生成器的教程:[5]

伪随机数据生成器[]

线性反馈移位寄存器是用来生成伪随机数的电路。下面是一个16位的线性反馈移位寄存器例子。中文视频 [6]

方块更新感应器[]

Information icon
大部分方块更新感应器仅存在于Java版中。

方块更新感应器(Block Update Detecter,BUD)会侦测来自二阶毗邻方块的更新。BUD最早由知名的Minecraft玩家Etho发明。“方块更新”来自部分能够改变方块状态的动作:放置方块、移除方块、开门、中继器的延迟改变、蛋糕被食用、长出草、形成积雪、使用熔炉(或停止使用熔炉)等等(开关箱子与使用工作台并不会引起方块更新,但睡在床上会引起)。大多数流行的BUD均采用了活塞作为核心部件。

可以看到“方块更新”包括很多动作,但13w01a前他们有一个共同点,那就是方块的变化(方块本身的ID被改变)。例如,移除某方块就是该方块被空气方块代替;放置方块,移除方块、长出草、积雪等等变化都是这些方块代替了空气方块,熔炉在被使用时与未使用时的方块ID不同,等等同理。

不同种类的BUD尽管具有共同的激活条件——感应器的临近方块更新(在Java版中,一般是NC更新),但建构原理利用了各式各样的漏洞或特性。一种活塞BUD利用了下面的活塞激活特性:活塞能够被任意隔一格之上的被充能方块或是那方块侧面的被充能方块激活——但满足这个激活条件之后,活塞临近方块必须更新才可以让活塞臂伸出——而且,当激活条件不被满足后,活塞临近方块要再次更新才能让活塞臂缩回。某些活塞BUD还利用了其他的漏洞,请看这个中文视频:[7]

BUD几乎可以应用到所有装置中,从陷阱到能够感应阳光来开关隐藏门的装置等等。这里有一个应用实例,请仔细观看作者构筑BUD的顺序。YouTube英文版:[8] 优酷中文版:[9]

有很多可以自动复位的BUD例子,基本上都是通过激活BUD时通过一定电路重新在设定自身状态的方式。例如这个YouTube视频:[10] 优酷中文版:[11]

信号转换[]

本节包括各种红石信号与其他类型的信号之间的转换设备。

物品“按钮”[]

MinecraftItemButton

一个正在工作的物品"按钮".

从1.0正式版开始,我们可以让一个木质压力板像一个按钮一样工作了(有物品激活压力板后)。在之前的版本中,我们没有办法自动清除掉在压力板上的物品——只能等它自动消失(5分钟后)或者捡起来。所以所有的需要用物品来激活的秘密按钮都是半自动的,因为我们要手动清理掉在上面的物品。现在你可以通过把木质压力板放在栅栏 (栅栏的碰撞箱被更新为跟它自己显示出来的大小差不多的程度)上:当一个物品从一个压力板旁边压上去的时候 (不是在中间),它会直接滑过压力板而产生一个长度为1秒的脉冲 (就像一个按钮那样).

MinecraftD1

物品“按钮”: A - 物品落入点; B - 输出端; C - 物品销毁点.

为了保证物品顺利滑过压力板,我们需要用水把它冲向压力板而不是直接把它扔在板子上。需要注意的是,栅栏会和周围的固体方块连接,而这种连接可以阻挡物品的下落。所以确保你把流向压力板的那一格水放在非固体方块 (像玻璃) 上面。 可以肯定的一点是,为了使物品被水冲下去之后不会停在栅栏上 (虽然经测试即使是最短的2格坡道也未遇到这种情况,但为了保险起见,要让流向栅栏的水位尽可能低。)

物理信号到红石信号的转换[]

Mechanical Electral Converter

一个物理信号到红石信号的转换器

通过水和熔岩(液体)源独特的刷新方法, 我们可以把一个方块的状态更改这种"物理信号"转为红石信号。 为了达到这个目的,你可以创建一个指定方块状态改变时会发生变化的水或者熔岩流。(请你务必参阅 [1],文章利用了液体在被放置时流向最近的8格以内的高度更低的沟渠,而且在液体源临近方块状态改变之前流向不会改变的特性。请注意该文章中的操作次序。),然后在液体源另一侧的方块放置红石火把/红石线,最后在同侧的近处构造更低的沟渠。一旦液体源邻近的方块状态改变,液体源自己的流向会被更新,使得方向改变的液体流可以冲走这个红石火把/红石线。这样,这个红石火把/红石线的消失导致输出信号的改变,从而达到信号转换的目的。

一旦设置完成,液体源毗邻方块状态改变会触发你希望看到的结果。“方块状态改变”包括:方块放置与毁灭,沙子或沙砾掉落到该处,长出草丛,水稻生长,门的开关,甚至是红石矿石“发出蒸汽”。它不包括红石导体被充能,但红石元件充能方块时一般会更新红石导体毗邻的纯液体和不稳定的含水方块。

这个装置只能工作一次,之后需要手动复原。

请参阅教程/方块更新感应器。BUD具有更强的适应性。

红石信号到动流体信号的转换[]

Electrical Kinetic Liquid Converter

红石-动流体信号转换器

与上一篇目同理,你也可以利用同样的特性构建红石信号到动流体信号的转换。同样希望你仔细阅读该文章[2]然后将一个红石线导向液体源的毗邻方块。红石线的状态一旦改变,液体源的流向就会被更新。如果设置得当的话,你可以通过电路来重定向液体流向。

而且自Beta 1.7之后,活塞能够被多功能地使用在液体控制中。活塞的伸臂能够阻断任意方向流来的液体,黏性活塞粘连的方块同样有这个作用。所以,用活塞来完成红石信号到动流体信号转换是十分容易的,而且不需要人工重置。

12w21a之后发射器可以控制液体了。18w10d之后活板门可以含水,水的流向受活板门控制。

红石显示器[]

在Minecraft里有很多种方法用各种活塞与染色羊毛做出一部很短的短片。但是这些方法系统庞大,结构复杂,每一个新视频都要重新做一次基础设计。

还好,用上红石灯我们有了新的方法:LED显示器。这段文字将介绍这种装置,这个想法基于学校的那些体育馆和运动区域的记分板,但这么一个记分板在Minecraft单人游戏里几乎什么用都没有而且功能也很单一。一个小电视屏幕在单人游戏的用处还是比记分板大的,这就是本篇文字要教你的东西。要做一个“红石显示器”,就是把图像一个一个分割成像素块,基于译码器和时钟电路,再调试一下(好像讲了和没讲一样)。当你制作时,你会发现一些像素块会通用(下文省略)

水平的灯屏可通过利用红石火把充能红石导体从下面控制或通过黏性活塞移动红石块从上面控制。

铅垂方向6个像素的单片[仅Java版]

铅垂的灯屏常由相同单片并列而成。

Java版中,控制铅垂方向超过6个像素的灯屏有多种思路。

侦测器时钟充能方块。[仅Java版]

侦测器充能指向的红石导体从而激活一个红石灯活塞移动的侦测器形成的时钟每个周期输出1脉冲和1刻负脉冲,输出下降沿时红石灯计划在2刻后尝试熄灭,1刻后侦测器亮起并计划再过1刻红石灯尝试熄灭后灭,然后红石灯执行计划刻时不能灭,因此虽然侦测器只能输出脉冲,红石灯能一直亮。

Screen with Tripwires

Java版中,通过盔甲架雪傀儡控制绊线钩

绊线钩也能通过充能方块控制一个红石灯。

基于阳光探测器等其他方案见参考资料。[12]

红石虚拟3D发光显示器[]

这是一种基于多种用途的构想,这可以通过多种方式进行,但在本教程中,我们只打算给你如何建立和使用这个玩意儿的一个例子。(注意是减法模式!)

False3D Monitor

这是一个虚拟3D显示器。如果你在第一行上面的第二行放置黏性活塞,你可以制造出2×2的像素。为了完成显示器的外观,你需要在活塞前面放上方块来决定什么像素是什么颜色,例如羊毛。原理是当活塞推出方块时,方块产生影子来盖住没有被推出的方块,从而产生一种3D视觉效果。这个装置除了可以用作视觉美观意外,还甚至可以用作怪物磨床。

参考[]

语言

Advertisement