红石元件
红石元件是在红石电路里具有一定使用目的的方块,大致分为三个大类:
电源为整个电路或部分电路提供能量来源,例如红石火把、按钮、拉杆、红石块等。
传输线将电能从电路的一部分传递到另一部分,例如红石粉、红石中继器、红石比较器等。
电动机械接受电能并作出反应(例如移动、发光等),例如活塞、、红石灯、发射器等。
充能
红石元件与部分方块能够被充能或解除充能。如果说一个方块被“充能”了,则这个方块就可以作为电源,具有向毗邻的“电器”方块供电以使其工作的潜力。(“毗邻”是这样定义的:一个方块是正方体,正方体有6个面。也就是说与一个方块的任意一个面接触的方块最多可能有6个,称之为“与该方块毗邻的方块”)。
当非透明方块(例如石头、沙石、泥土等)被电源 (或是中继器、比较器)充能,我们称这个方块被强充能了(这个概念与充能等级不同)。强充能的方块可以激活毗邻的红石线。
当非透明方块仅被红石线充能,我们称这个方块被弱充能了。与强充能的唯一区别是,弱充能的方块无法激活毗邻的红石线。
被充能的方块(无论强度如何)都可以影响毗邻的红石元件。不同的元件产生的反应不同。您可以查看这些元件的具体描述。
充能等级
充能等级(又称”信号强度“)为0到15的整数。大多数电源组件均提供满强度的15级信号,但少数电源组件能提供可定义的信号强度。
红石线能向相邻的红石线传导信号,但每传导1格,充能等级就降低1。因此,连续的红石线最远能将能量传到15格远。为了突破这个限制,你可以保持(使用红石比较器)或是重新加强(使用红石中继器)红石信号。充能等级只会因为红石线之间的直接传导而衰减,不会在红石线与其他元件或方块之间衰减。
红石(状态)更新
当电路的某一部分发生状态的改变,该改变会引起所有毗邻方块的“红石(状态)更新”(请勿与Minecraft 1.5正式版的代号“红石更新”混淆)。红石更新是个连锁反应,会计算直到到达已载入区块的边界。
红石刻
红石刻(Redstone tick)为Minecraft计算红石机构状态的最小时间单位,等于0.1秒。红石火把,中继器以及激活的红石组件需要1刻或更多时间改变状态,这就引入了在大型电路中至关重要的延迟。
红石刻与“游戏刻”或“方块刻”不同。当讨论红石电路时,“刻”一词仅指“红石刻”。
信号与脉冲
具有稳定输出的电路能够产生信号——“激活/非激活”时称为“真/假”或“高电平/低电平”。当信号出现一个较为短暂的非激活-激活-非激活过程,该过程通常被称为脉冲(或正脉冲。相反的过程被称为负脉冲)。
非常短的脉冲(1-2刻的)可能会使一些电路组件由于来不及响应而产生问题。例如红石火把无法响应外部的1刻脉冲
电路与机械
两个术语通常都用于指包含电路组件的结构,但两者一般还是有明显区别的:
电路(circuit)为处理信号的结构(生成,修改,组合等)。
机械(mechanism)会对环境产生影响(移动方块,开门,改变光照强度,播放声音等)。
所有机械均包含红石组件或电路,但电路本身是不会对环境产生影响的(除了红石火把或中继器在激活时产生的光,或活塞作为电路组成成分之一时造成的推拉方块的负效果)。明确这些简单的概念有利于我们理解红石电路
电路尺寸
本文用宽× 长× 高的格式(电路的外切长方体)描述电路的尺寸,其中包括底板支撑方块,但不包括输入/输出。
描述电路尺寸的另一种方法是忽略最下层支撑电路的那层方块(例如位于下层红石粉之下的方块)。然而这种方法无法区分平面电路与一格高的电路。
通常直接用电路的占地面积,或是直接用1格宽的电路的长度描述电路尺寸较为方便。
电路特性
根据不同的设计目标,您应当考虑一些常见的特性:
1格高电路
1格高电路意味着其纵向只有1格,也就是说这种电路不能存在需要下方方块支撑的元件(例如红石线、红石中继器)。
1格宽电路
1格宽电路指至少1个横向尺寸为1.
平面电路
指的是可以直接建造在地平面,不需要层叠元件(不计方块支撑红石元件)。平面电路通常利于初学者理解与学习。
隐形电路
指的是可以完全隐藏在一堵墙,或地板之下,或天花板之上的电路。这种电路尤其适合活塞门。
立即响应电路
指一接到输入信号,能够马上输出的零延迟电路。
静音电路
指不会发出声音的电路。这种电路不会有活塞、发射器、投掷器等会发出响声的元件。此类电路适合陷阱、安静环境以及需要减噪的电路的建造。
可堆叠电路
指同样的电路可以一个直接叠在另一个上面的电路,叠放之后电路之间不会互相干扰。
可并列电路
指同样的电路可以一个直接毗邻另一个旁边建造的电路,毗邻之后电路之间不会互相干扰。
可能还会有其他的设计目标,包括降低子电路延迟、减少昂贵元件消耗(例如比较器)与尽量减小设计尺寸等。
电路类型
某些电路可能只能完成最简单的控制功能,但你将逐渐能用此类简单电路的组合成复杂的、能够满足机械需要的大型电路。
传输电路
信号传输常用术语包括:传输类型,纵向传输,中继器与二极管。
传输类型
数字的:仅有0/1概念的传输。
模拟的:与信号强度相关的传输。
二进制的:多条数字线路,每条线路代表一个二进制数的其中一位。
一元的:多条数字线路,激活哪条线路决定传输的数据。
纵向传输
向上纵向传输
向下纵向传输
虽然横向传输较为直接,但纵向传输有时具有出人意料的适应性与集成性。
导线楼梯
最简单的纵向传输就是在斜向上的方块上铺设红石线,或是2×2的螺旋结构,或是其它类似结构。导线楼梯既能够向上也能向下传输信号,无延迟,但占地庞大,每15个就需要中继。
导线梯
因为萤石块、倒置楼梯与阶梯能够承载红石线的同时不切断红石线,信号就能够在2×1的“梯子”上纵向传输(仅能向上传输!)。导线梯占地小,无延迟,但每15个就需要中继。
火把高塔
红石火把能够充能其上方的方块与相邻的(包括下方的)红石线,这样,纵向传输便成为可能(向上与向下的设计不同)。本方案无需中继,占地小,但会引入不小的延迟。
您也可以用活塞、水等方块建造其他形式的纵向传输方案。
单向电路(即“二极管”)只允许信号沿着一个方向传输,主要用于防止输出端信号对输入端电路产生负面影响(例如信号串扰等)。单向电路也可用于电路压缩时用于防止电路不同部分相互干扰。
中继器
“中继”信号指的是将信号加强到完全信号强度。最简单的方法就是使用红石中继器。但某些电路可能需要无延迟的中继器电路,或是可以双向中继的”双向中继器“。
二极管
“二极管”指只允许信号单向传输的电路,通常用于防止电路反向干扰引起的输出错误,也可以用于防止线路彼此串扰。常用的二极管包括红石中继器、萤石与倒置台阶。倒置台阶无法向斜下方传输信号,因此将红石线铺上台阶就是一种简单的二极管建造方法。台阶二极管不会引入延迟,但也不会把信号加强。
很多电路已经具有单向性,因为它们的输出端不会接受输入信号,例如以附着在方块侧面的红石火把作为输出的电路。
逻辑电路
有时,你需要判断输入信号,经过一定的算法产生一个输出。这类电路即为人们耳熟能详的逻辑门(“门”只让满足“逻辑”的信号输出)。虽然有很多种类的逻辑门,最基本的只有三种:与门,或门、非门。
或门
只要或门的任意一个输入为1,输出就会是1。
与门
只有与门所有输入均为1时,输出才会为1。
非门(反相器)
使得输入信号反相(例如输入为0,输出为1;输入为1,输出为0)。
脉冲电路
某些电路需要特定长度的脉冲,其他电路用脉冲长度传达特定信息。脉冲电路派上了用场。
在一个状态稳定,另一个状态不稳定的电路通常称为单稳态电路(monostable circuit)。大多数脉冲电路属于单稳态电路电路,因为它们的激活态(非稳态)只能持续较短时间就回到稳定态。
脉冲发生器
脉冲发生器产生特定长度的脉冲。
脉冲限制器
脉冲限制器(又称脉冲缩短器)可以缩短过长的脉冲。
脉冲稳定器
脉冲稳定器(又称脉冲延长器)可以延长过短的脉冲。
脉冲延迟
脉冲延迟电路能够为脉冲提供延迟。
边沿感应器
边沿感应器在信号变化时:从0到1(“上升沿”感应器)或从1到0(“下降沿”感应器),或两者均感应(“双边沿”感应器)。
脉冲长度识别器
脉冲长度识别器能够在输入脉冲长度在某个范围内时输出信号。
示波器
示波器为依次连接的比较器(1.5以下可以用1刻的红石中继器)链,据此能够通过点亮的中继器数量直观地测量脉冲长度。
时钟电路
时钟电路为持续、重复提供特定长度脉冲的脉冲发生器。一些时钟电路可以永久工作,另一些则可控。
简单的时钟电路只有两个等长的状态(0与1长度相同)。例如5刻激活与5刻非激活的时钟被称为5刻时钟。
中继器时钟
利用中继器(链)获得时钟电路中必要的延迟的电路。通常需要红石火把以获得反相功能。
漏斗时钟
漏斗时钟通过漏斗链循环传递物品,并通过红石比较器侦测输出。
活塞时钟
利用活塞对方块的推拉完成电路的反相功能。
时钟电路也可以基于矿车、船、掉落物品的自然消失等。
记忆电路
与逻辑电路永远反映输入信号不同,记忆电路的输出不单与输入相关,还与“过去的输入”相关。这样能够完成对电路过去状态的“记忆”。在现实生活中的电子学中,锁存器指对输入信号的某个状态产生反应的电路;触发器指对输入信号的变化产生反应的电路。
RS锁存器
RS锁存器有2个输入。输入端为S(Set)端与R(Reset)端:S端输入一旦变成1,输入就为1并保持;R端输入一旦变成1,输入就为0并保持。最简单的RS锁存器为知名的“RS或非锁存器”,其为Minecraft最古老也是最常见的记忆电路。
T触发器
T触发器用于信号切换(类似拉杆)。T触发器具有“时钟”输入端,输入端满足特定条件时,输出端会切换一次。
D触发器
具有"data(数据)"输入端与"clock(时钟)"输入端。输入端满足激活条件时,输出端会变成此刻数据输入端相同的状态。
JK触发器
具有稍微复杂的时序逻辑。
计数器
与基本触发器不同,计数器能够具有多个状态,从而完成对较大数字的计数。
还有很多记忆电路可供选择。
杂项电路
此类电路一般不常见,但却是大型复杂工程的重要组成部分。
数据分配器与继电器
数据分配器为逻辑门的高级形式之一,选择端的输入信号决定输出端与哪个输入端相同。
随机信号发生器
随机信号发生器能够产生无法预测的信号。一些随机信号发生器利用了Minecraft的随机特性(例如仙人掌生长或发射器对发射槽的选择);另一些则采用数学上的的伪随机算法。
多输入电路
多输入电路能够同时处理多个输入并得出综合输出。此类电路是建造计算器、数字钟与基本计算机的基石。
方块更新感应器
方块更新感应器(Block Update Detector,缩写为BUD)为能够对方块状态改变产生反应的电路(例如石头被开采,水变成冰,南瓜长出等一切涉及方块的数据更改的行为)。
爱好者们还有很多更复杂的电路方案。
如何建造一条成功的红石电路
计划
建造红石电路的第一步是确定电路能做些什么。
应该在哪里控制整个电路?如何控制?
电路是由玩家控制,生物移动控制或是其它控制方式?
电路能够控制什么样的机械?
信号如何从控制端传向机械?
需要将多个来源产生的信号组合到一起吗?
建造
建造电路时使用特定的方块组合是个不错的习惯,这样你当修建其他的工程时,看到这些方块你就能意识到不能再继续挖了。常见的选择有石砖、雪块与羊毛(不同颜色的羊毛有利于你自己区分电路的不同部分)。
当在水或岩浆边上建造电路时要特别小心。很多电路组件会在液体流过时被破坏。
建造电路以引爆TNT(陷阱或大炮)时要格外小心。建造中的电路可能会意外触发TNT,因此强烈建议最后再放置TNT。
解决问题
当电路出问题时,仔细检查,尝试寻找出问题的来源。
你是否想从一个弱充能方块引出电能?也许你需要红石中继器使其强充能,或者用红石中继器引出电能。
你是否想让电能穿过一个透明方块?用非透明方块代替它,或者绕道而行。
你是否无意中建造了一个短路电路,使得本来应当激活的红石火把燃尽了?修正短路电路,并更新红石火把的状态。
本不该激活的电路部分是否错误激活了?也许你不小心把不同部分的线路之间连了起来。
活塞、发射器或投掷器的激活方法错误?
精炼
电路正常工作后,考虑一下是否能够提高电路的性能。
你能让电路反应更快吗?
减少信号传输中不必要的元件数量
你能让电路更小吗?
你能使用更少的方块吗?
你能缩短红石线的长度吗?
你能让电路更强壮(提高鲁棒性)吗?
电路在极短的脉冲下依然能正常工作吗?
电路在频繁地激活/非激活交替下依然能正常工作吗?
Minecraft新版本的特性是否有助于提高电路的效率?(如1.5的红石比较器等)
电路噪声能小一些吗?