紅石電路(Redstone circuits)為玩家建造的,可以用於控制或啟動其他機械的結構。
電路本身既可以被設計為用於響應玩家的手動啟動,也可以讓其自動工作——或是反覆輸出訊號,或是響應非玩家引發的變化,例如生物移動、物品掉落、植物生長、日夜更替等等。Minecraft中能夠被紅石控制的機械類別幾乎覆蓋了你能夠想像到的極限,小到最簡單的機械(如自動門與光開關),大到占地巨大的電梯、自動農場、小遊戲平台,甚至遊戲內建造的計算機。了解如何構建和使用紅石電路及其可控制的機制能極大地增加Minecraft中可遊玩的深度。
紅石電路的主題非常廣泛,本條目只是紅石電路的一個概述。點擊各章節的主條目可以查看詳細資訊。
基本概念
在描述基本的紅石電路之前,需要先了解一些基本概念。
紅石元件
紅石元件是在紅石電路裡具有一定使用目的的方塊,大致分為三個大類。
- 電源為整個電路或部分電路提供訊號來源,例如紅石火把、按鈕、控制桿、紅石方塊、壓力板等。
- 傳輸元件將訊號從電路的一部分傳遞到另一部分,例如紅石粉、紅石中繼器、紅石比較器等。
- 機械元件接受訊號並作出反應(例如移動、發光等),例如活塞、紅石燈、發射器等。
由於紅石火把、紅石粉、紅石中繼器、紅石比較器這四個方塊既可以被啟動,又可以啟動其他元件,因此也可單獨劃分為一類,稱為紅石元器件。
位置
一個方塊占據一個正方體的空間,正方體有6個面。也就是說與一個方塊的六個面直接接觸的方塊有6個,稱之為「與該方塊毗鄰的方塊」,簡稱毗鄰。
一個方塊的毗鄰和毗鄰的毗鄰(即與這個方塊的曼哈頓距離為兩格以內的方塊),通稱為這個方塊的二階毗鄰。一個方塊的毗鄰的毗鄰共有19個方塊(包括它本身),二階毗鄰共有25個方塊(包括它本身)。
四周一般指的是與該方塊東西南北四個面相接觸的4個方塊。
紅石線、紅石火把等方塊需要附著在其他方塊上,一旦所附著的方塊被破壞,它本身也會掉落。它們所附著的方塊簡稱為它們的附著。
一些電源和傳輸元件有它的指向。中繼器、比較器的指向就是輸出端所朝向的方塊,紅石火把的指向是正上方的那一個方塊,紅石粉的指向通常與它的紋理的朝向相同,但也有特殊情況。
電路與機械
兩個術語通常都用於指包含紅石元件的結構,但兩者一般還是有一定區別的:
- 電路(circuit)為處理訊號的結構(產生,傳輸,修改,組合等)。
- 機械(mechanism)會對環境產生影響(移動方塊,開門,改變光照強度,播放聲音等)。
所有機械一定包含電路,因此也可稱為機械電路。但電路本身是不會對環境產生影響的(除了紅石火把等產生的光,或活塞作為電路組成成分之一時造成的推拉方塊的副效果)。複雜的電路還可以細分為數位電路和類比電路。參見下文基本種類章節。
訊號與脈衝
紅石電路能夠產生訊號——「有/無訊號」時稱為「1/0」、「真/假」或「高電平/低電平」。
上邊沿/上升沿指紅石訊號由無到有的變化瞬間;下邊沿/下降沿指紅石訊號由有到無的變化瞬間。
相(Phase)代表相位,指邏輯代數中的「相同」與「相反」(例如「1」與「0」互為反相)。
當訊號出現一個較為短暫的「0-1-0」過程,該過程通常被稱為脈衝(或正脈衝。「1-0-1」的過程被稱為負脈衝)。脈衝持續的時間長度被稱為脈衝的長度。另見下文#脈衝電路。
訊號強度
訊號強度通常為0到15的整數。紅石線能向相鄰的紅石線傳導訊號,但每傳導1格,訊號強度就降低1。因此,連續的紅石線最遠能將訊號傳到15格遠。為了傳輸更遠,可以使用紅石比較器來保持訊號強度或使用紅石中繼器將訊號強度加至15。
訊號強度會因為紅石線之間的直接傳導而衰減,也可以透過測重壓力板、日光感測器或紅石比較器直接控制輸出不同的訊號強度。
紅石比較器實際上可以接受和輸出小於0或超過15強度的訊號。如指令方塊的成功次數超過15或容器內的物品超過堆疊限制,紅石比較器會把它們作為強度小於0或超過15的訊號進行比較或作差後輸出。
充能
部分方塊能夠被充能及解除充能。當紅石訊號作用於一個方塊時,如果這個方塊毗鄰的所有機械元件都可以被啟動,那麼這個方塊就被稱為紅石導體,這個行為被稱為充能。被充能的方塊叫做充能方塊。大多數紅石導體都是不透明的方塊。
強充能與弱充能
充能又分為強充能和弱充能:
- 強充能的方塊可以啟動毗鄰的機械元件和紅石元器件。紅石導體可以被電源及中繼器、比較器強充能。被強充能的方塊所表現性質和紅石方塊大體相同,但是紅石方塊不是紅石導體,且可以改變紅石線的形狀和指向、向紅石比較器邊側輸入訊號
[僅Java版],而強充能方塊不能。 - 當紅石導體僅被紅石線充能,我們稱這個方塊被弱充能。弱充能與強充能的區別在於,弱充能方塊無法啟動毗鄰的紅石線。
充能方塊無法再去充能其他方塊,只有電源和傳輸元件才可以去充能一個方塊。
充能等級
使用多少訊號強度的訊號去充能一個方塊,我們就說這個方塊有多少充能等級。被強充能的方塊有多少充能等級,就可以啟動毗鄰的紅石粉至多少訊號強度。充能等級的大小與充能的強與弱完全無關。
啟動
機械元件和紅石元器件可被電源、充能方塊和傳輸元件以特定的方式啟動,引發機械元件和紅石元器件的反應(如活塞推動方塊,開門,紅石火把熄滅等)。
有些機械元件只會在剛被啟動的瞬間有所反應,直到取消啟動並再啟動之前都不會再有所反應(如指令方塊執行指令,投擲器與發射器發射物品,音階盒播放一個音符)。其他機械元件會在啟動時始終保持狀態,直到取消啟動(紅石燈保持點亮,門保持開啟,漏斗保持鎖定狀態,活塞保持伸出等)。
所有機械元件都可以被下列方塊啟動(例外:活塞不會被其活塞頭朝向的方塊常規啟動):
- 毗鄰的,處於開啟狀態的電源
- 毗鄰的充能方塊(強充能與弱充能均可)
- 指向該機械元件的、輸出訊號的紅石比較器或紅石中繼器
- 指向該機械元件的、啟動的紅石粉,包括附著其上的紅石粉。(毗鄰的、但未指向機械元件的紅石粉不會啟動機械元件)
部分機械元件可以用其他方式啟動:
- 在Java版中,發射器、投擲器與活塞可以被以下方式啟動:即如果上述4種方式作用於該機械元件正上方的那個方塊(無論是何種方塊,即使是空氣也無妨),該機械元件也會被啟動。正如門的下半部分那樣。這種情況也可以表述為:該元件可以被斜上方或上方2格的方塊啟動。右圖即為這類啟動方式的例子。 這種方式被稱為半連接。
- 門占2格空間,啟動任意一半門,另一半也會被啟動。
充能與啟動
對於屬於紅石導體的機械元件(包括指令方塊、投擲器、發射器、音階盒與紅石燈等等),既可以被充能也可以被啟動。因此區分它們是被啟動還是被充能相當重要:
- 如果它能夠啟動毗鄰的紅石元器件和機械元件,那麼它就被充能了。
- 如果它本身作出了一定的反應,那麼它就被啟動了。
機械元件只要被充能就一定也會被啟動,但被啟動並不會一定會被充能(如被毗鄰的充能方塊啟動)。
不是紅石導體的機械元件(門、柵欄門、活塞、漏斗、鐵軌、地板門等等)可被啟動並作出反應,但因為不具備紅石導體的性質而無法被充能。
方塊更新(狹義)
當一個方塊發生狀態的改變時,該改變會引起周圍方塊的方塊更新。
在Java版中,紅石電路的運作依賴於方塊更新機制。單次方塊更新會使得周圍的其他紅石元件接收到「附近發生變化」的提示,以檢測自身是否應該發生變化。如果發生了變化,將又會對周圍發出方塊更新。更新引起變化、變化創造更新,這將會是個連鎖反應,電路不一定能達到完全穩定的狀態。
在Java版中,充能並非遊戲內部的機制,因此,不管是否被充能或解除充能都不能產生方塊更新。元件發生變化時,會更新周圍足夠範圍內的方塊以使電路正常工作(例如,壓力板更新其毗鄰及其附著的毗鄰)。
除了方塊更新之外,紅石比較器還可以透過其後方兩格內的容器(包括上有儲物箱礦車的感測鐵軌)和某些其他方塊的變化(例如物品欄裡的物品發生變動)進行更新;偵測器還可以檢測某些方塊變化而進行更新。
以下為Java版中的通常情況下的方塊更新範圍:
下列紅石元件會產生二階毗鄰範圍的方塊更新:
下列紅石元件產生的方塊更新範圍是其毗鄰和附著(或者指向)的毗鄰:
- 按鈕
- 感測鐵軌(僅限水平鐵軌,還會使得比較器更新)
- 動力鐵軌(僅限水平鐵軌)
- 觸發鐵軌 (僅限水平鐵軌)
- 控制桿
- 壓力板
- 陷阱儲物箱 (毗鄰和其下方方塊的毗鄰。還會使得比較器更新)
- 絆線鉤(破壞或改變狀態)
- 測重壓力板
- 講台(毗鄰和其下方方塊的毗鄰。還會使得比較器更新)
- 避雷針
- 伏聆振測器(毗鄰和其下方方塊的毗鄰)
以下的紅石元件的更新範圍是指向及指向的毗鄰(除該元件本身位置):
下列紅石元件產生的方塊更新範圍是其毗鄰、其上方方塊的毗鄰以及下方方塊的毗鄰:
下列紅石元件產生的方塊更新的範圍只有它的毗鄰:
下列方塊的狀態變更時不會引發方塊更新:
- 指令方塊(但會使比較器更新)
- 重複型指令方塊(但會使比較器更新)
- 連鎖式指令方塊(但會使比較器更新)
- 發射器(但會使比較器更新)
- 投擲器(但會使比較器更新)
- 門
- 柵欄門
- 漏斗(但會使比較器更新)
- 紅石燈
- 地板門
紅石系統
紅石系統是遊戲用來管理紅石電路的一個機制。在基岩版中,紅石電路的運作主要依賴於紅石系統,同時也會受到方塊更新的影響。
紅石系統儲存了所有的紅石元件及其附近的實體方塊的資訊及連接方式。每兩遊戲刻,紅石系統就進行一次訊號更新,計算和設定各個紅石元件的紅石訊號。
紅石刻
紅石刻(Redstone tick)簡稱刻或rt,也就是2遊戲刻(如果沒有卡頓等於0.1秒)。
在Java版中,因為多數紅石元件需要1刻或更多時間改變狀態,所以紅石刻曾被定義為Minecraft更新紅石元件狀態的最小時間單位,曾被玩家在紅石電路中廣泛使用。隨著對遊戲機制的進一步了解,現在常把遊戲刻(簡稱「gt」)作為最小時間單位。
在基岩版中,大部分紅石元件的訊號通常每隔1遊戲刻更新一次。因此紅石刻既可以作為時間單位使用,等於2遊戲刻;也可以用「紅石刻」和「非紅石刻」兩個名詞來指代某一遊戲刻,以區分該遊戲刻是否更新紅石訊號。
電路體積
通常使用長×寬×高的格式(電路的外切長方體)描述用於處理訊號的電路的體積,其中包括底層用於附著的方塊,不包括輸入訊號或輸出訊號的方塊或結構。單位為方塊(Block),簡稱b。
描述電路體積的另一種方法是忽略最下層支撐電路的那層方塊(例如位於最下層紅石粉之下的方塊)。然而這種方法無法區分平面電路與一格高的電路。
電路特徵
根據不同的設計目標,應當考慮一些常見的特徵:
- 1格高電路
1格高電路只有1格,也就是說這種電路不能存在需要附著在下方方塊的元件(例如紅石線、紅石中繼器)。
- 1格寬電路
1格寬電路指至少1個橫向尺寸為1。也稱為單片電路。
- 平面電路
指的是可以直接建造在地平面,不需要層疊元件(不計用於支撐紅石元件的地平面)的電路。平面電路通常利於初學者理解與學習。
- 隱藏電路
指的是可以完全隱藏在一堵牆,或地板之下,或天花板之上的電路。這種電路尤其適合活塞門。
- 無延遲電路
指一接到輸入訊號,能夠馬上輸出的零延遲電路。
- 無聲電路
指不會發出聲音的電路。這種電路不會有活塞、發射器、投擲器等會發出響聲的元件。此類電路適合陷阱、安靜環境以及需要減噪的電路的建造。
- 可堆疊電路
指同樣的電路可以一個直接疊在另一個的旁邊或上方的電路,疊放之後各個單元可以被一個總輸入控制。
- 可並列電路
指同樣的電路可以一個直接疊在另一個的旁邊或上方的電路,疊放之後各個電路之間不會互相干擾。
- 其他可能的設計目標
包括降低子電路延遲、減少昂貴元件消耗(例如比較器)與儘量減小設計尺寸等。
基本種類
根據電路的原理及功能,中文區玩家將其分為三大模組和其他種類。
數位電路
數位電路,簡稱數電,即透過遊戲所給的邏輯機制(或、非)來實現邏輯運算。數位電路一般基於二進位運算法則和邏輯運算來實現各種運算,從而實現各種複雜的計算機和計算器。數位電路在現實中是一門學科。如果沒有知識基礎,數位電路對普通玩家來說較為複雜高深。
數電相較於類比電路,速度較快,體積較大。
紅石類比電路
紅石類比電路,簡稱類比電路,即利用比較器的比較、減法模式來對類比訊號的處理與運算。
「類比」意為「連續變化」。這並不符合Minecraft中的只有16格離散值的類比線路(例如,13.43強度的訊號並不存在)。此處使用「類比」一詞是為了區分訊號強度傳輸與0/1傳輸。在現實生活中,數位電子技術(僅傳輸高電壓或低電壓)與類比電子技術(重在連續變化的電勢)之間的區別與其最為相似,因此「類比」與「數位」的叫法被廣泛採用,和現實中類比電路有所區別,不能混為一談。
類比電路相較於數電,速度較慢,體積較小。
紅石類比電路主要分為弱訊號類比電路(弱類比電路)和強訊號類比電路(強類比電路)。弱類比電路基於0~15的紅石類比訊號進行處理與運算,運算規則一般基於16進位或10進位。強類比電路利用比較器最大寄存訊號強度遠高於紅石粉,而利用15~2,147,483,647訊號強度的類比訊號進行的運算與處理。有的類比電路也會使用小於0的紅石訊號進行計算。
機械電路
機械電路,簡稱械電,即利用活塞、黏性活塞等的種種特性,來實現方塊的推拉。
根據設計目標,可分為高速械電和高壓械電等。高速械電追求速度,不追求減小體積(比如0.15s開門的2×2無痕玻璃門)。高壓械電追求減小體積,不追求速度,所以通常時序複雜(比如占體積760方塊的6×6活塞門,開關門共75分鐘)[1]。
飛行器科技
飛行器科技,又稱航械、史萊姆方塊技術、活塞蟲等。飛行器科技脫胎於械電,利用活塞和史萊姆方塊/蜂蜜塊實現可單向或多向航行的機械,也能用來可移動的其他類型的電路,例如移動矢量炮、移動3×3門、移動樹廠等。
生存實用電路
生存實用電路,簡稱生電。生電的定義範圍較廣泛,主要特點是為生存模式服務,因而追求耗材少、穩定性強等。
TNT大炮
TNT大炮其實是對於TNT實體的研究與模型建立,炮膛設計等。
矢量炮
矢量炮即利用正交分解,透過控制兩個互相垂直炮膛的TNT數量,來實現控制兩個互相垂直且作用於彈頭的同一點上的力,以實現精確的打擊效果。
基本電路
雖然建造電路的方法無窮無盡,但特定功能的電路建造樣式是比較固定的。下面的章節對一些電路進行了分類,每個章節有獨立的主條目用於描述具體的電路設計方案。
某些電路可能只能完成最簡單的控制功能,但可以將此類簡單電路組成複雜的、能夠滿足機械需要的大型電路。
脈衝電路
一些電路需要特定長度的脈衝,也有一些電路用脈衝長度傳達特定資訊。脈衝電路派上了用場。
在一個狀態穩定,另一個狀態不穩定的電路通常稱為單穩態電路(monostable circuit)。大多數脈衝電路屬於單穩態電路,因為它們的啟動態(非穩態)只能持續較短時間就回到穩定態。
- 脈衝發生器:產生特定長度的脈衝。
- 脈衝限制器:可以縮短過長的脈衝。又稱脈衝縮短器。
- 脈衝穩定器:可以延長過短的脈衝。又稱脈衝延長器。
- 脈衝延遲:能夠為脈衝提供延遲。
- 邊沿感應器邊沿感應器在訊號變化時輸出脈衝:從0到1(「上升沿」感應器)或從1到0(「下降沿」感應器),或兩者均感應(「雙邊沿」感應器)。
- 脈衝長度識別器:能夠在輸入脈衝長度在某個範圍內時輸出訊號。
時鐘電路
時鐘電路為持續、重複提供特定長度脈衝的脈衝發生器。一些時鐘電路可以永久工作,另一些則可控。
從一次脈衝的開始到下一次脈衝的開始之間的時間長度被稱為時鐘電路的週期。在一個週期中,一次脈衝的長度與這個週期的總長度的比值叫做占空比。
簡單的時鐘電路只有兩個等長的狀態(占空比為50%)。例如5刻啟動與5刻非啟動的時鐘被稱為5刻時鐘。
- 中繼器時鐘
利用中繼器(鏈)獲得時鐘電路中必要的延遲的電路。通常需要紅石火把以獲得反相功能。
- 漏斗時鐘
- 活塞時鐘
利用活塞對方塊的推拉完成電路的反相功能。
- 其他時鐘
時鐘電路也可以基於日光感測器、礦車、船、掉落物品的自然消失、水的流動等。
傳輸電路
只使用傳輸元件進行訊號傳輸,無法滿足遠距離傳輸的需求。因此需要傳輸電路的輔助
中繼器
「中繼」訊號指的是將訊號加強到15訊號強度。最簡單的方法就是使用紅石中繼器。也可以使用如下電路:
二極體
「二極體」指只允許訊號單向傳輸的電路,通常用於防止電路反向干擾引起的狀態改變或延遲紊亂,也可以用於防止大型電路中的線路彼此串擾。常用的二極體包括紅石中繼器、紅石比較器、使用螢光石、階梯或半磚組成的紅石梯。
很多電路已經具有單向性,因為它們的輸出端不會接受輸入訊號,例如以附著在方塊側面的紅石火把(反閘)作為輸出的電路。
縱向傳輸電路
雖然橫向傳輸較為直接,但縱向傳輸有時具有更好的適應性與集成性。下面列舉了一些簡易的縱向傳輸電路:
- 紅石階梯
最簡單的縱向傳輸就是在斜向上的方塊上鋪設紅石線,或是使用2×2的螺旋結構等等。紅石階梯既能夠向上也能向下傳輸訊號,無延遲,但占地龐大,每15個就需要中繼。
- 紅石梯子
因為螢光石塊、倒置階梯與半磚上方能夠放置紅石線的同時不會隔斷紅石線,訊號就能夠在2×1的「梯子」上縱向傳輸,但僅能向上傳輸,這也相當於一個縱向的二極體。紅石梯子占地小,無延遲,但每15個就需要中繼。在基岩版中,可以透過漏斗或玻璃形成1×2的梯式縱向雙向傳輸。
- 火把高塔
紅石火把能夠充能其上方的方塊並啟動毗鄰的紅石線,這樣,縱向傳輸便成為可能(向上與向下的設計不同)。無需中繼,占地小,但會引入不小的延遲。
一個偵測器可以啟動上方或下方的紅石粉,因此可以實現縱向雙向傳輸。當偵測器面朝上或朝下的時候,在它的上面和下面放置紅石粉,就會產生一個脈衝,再在它的上面或下面再使用一個偵測器檢測這個脈衝並產生新的脈衝,重複這個模式意味著脈衝將被持續傳輸。
雜項傳輸電路
- 日光感測器傳輸
- 利用在晴天的白天太陽光無遮擋時恆為15級亮度,可以製造一種白天的長距離垂直傳輸裝置(其他方向難易度大、距離短)。
- 這樣,當日光感測器在一個只有頂上開口的不透光柱子內時,頂部開口被活塞推動打開或關閉時,下面傳出訊號(日光感測器有明暗探測兩種模式)。
- 實體傳輸
- 主要包括利用彈射、墜落、氣泡柱升降移動實體到感應位置,可以自帶復位(兩個單項的收發反向重合),通常距離越遠實體速度越快,不確定性大,多使用火焰彈,需要對遊戲機制有一定了解。
邏輯電路
有時需要判斷輸入訊號,經過一定的算法產生一個輸出。這類電路即為人們耳熟能詳的邏輯閘(「閘」只讓滿足「邏輯」的訊號輸出)。
A | 開 | 開 | 關 | 關 | 對應語言表述 |
---|---|---|---|---|---|
B | 開 | 關 | 開 | 關 | |
非A | 關 | 關 | 開 | 開 | A為0嗎? |
A或B | 開 | 開 | 開 | 關 | 有輸入為1嗎? |
A反或B | 關 | 關 | 關 | 開 | 兩個輸入均為0嗎? |
A及B | 開 | 關 | 關 | 關 | 兩個輸入均為1嗎? |
A反及B | 關 | 開 | 開 | 開 | 有輸入為0嗎? |
A互斥或B | 關 | 開 | 開 | 關 | 兩個輸入不同嗎? |
A同或B | 開 | 關 | 關 | 開 | 兩個輸入相同嗎? |
A蘊含B | 開 | 關 | 開 | 開 | 如果A為1,B也為1嗎? |
- 反閘(即「反相器」):輸入與輸出相反。
- 或閘:任意一個輸入為1時,輸出為1。
- 反或閘:任意一個輸入為1時,輸出為0。
- 及閘:所有輸入都為1時,輸出為1。
- 反及閘:所有輸入都為1時,輸出為0。
- 互斥或閘:輸入不同時,輸出為1。
- 反互斥或閘:輸入相同時,輸出為1。
- 蘊含閘:僅當第一個輸入為1,第二個輸入為0時,輸出為0。
記憶電路
與邏輯電路只反映輸入訊號不同,記憶電路的輸出不單與輸入相關,還與「過去的輸入」相關。這樣能夠完成對電路過去狀態的「記憶」。在現實生活中的電子學中,閂鎖(Latch)指對輸入訊號的某個狀態產生反應的電路;正反器(Flip-flop)指對輸入訊號的變化產生反應的電路。有很多記憶電路可供選擇,下面是常見的幾種。
- RS閂鎖
RS閂鎖有2個輸入。輸入端為S(Set改變狀態)端與R(Reset重設狀態)端:S端輸入一旦變成1,輸出就為1並保持;R端輸入一旦變成1,輸出就為0並保持。最簡單的RS閂鎖為知名的「RS反或閂鎖」,其為Minecraft最古老也是最常見的記憶電路。
- T正反器
T正反器用於訊號切換(類似控制桿)。T正反器具有「clock(時鐘)」輸入端。輸入端滿足特定條件時,則翻轉輸出訊號(1變為0,0變為1)。
- D正反器
具有「data(資料)」輸入端與「clock(時鐘)」輸入端。輸入端滿足啟動條件時,輸出端會變成此刻資料輸入端相同的狀態。
- JK正反器
和RS閂鎖相似,但RS閂鎖不支持R端和S端同時為1,而JK正反器在J端和K端同時為1時則翻轉輸出訊號(1變為0,0變為1)。現實中用它來實現t正反器和d正反器,但在遊戲中用處不大。
雜項電路
- 隨機訊號發生器
隨機訊號發生器能夠隨機產生無法預測的訊號。一些隨機訊號發生器利用了Minecraft的隨機特性(例如仙人掌生長或發射器對發射槽的選擇);另一些則採用數學上的偽隨機算法。
- 示波器
示波器為依次連接的中繼器鏈,據此能夠透過點亮的中繼器數量直觀地測量脈衝長度。
- 計數器
計數器(Counter)是用於記錄輸入脈衝數量的裝置,基本結構為級聯的邊沿觸發型正反器。
- 方塊更新感應器
方塊更新感應器(Block Update Detector,縮寫為BUD)為能夠對方塊的變化產生反應的電路(例如石頭被挖掘,水變成冰,南瓜長出等等)。單穩態BUD透過產生脈衝作出反應,而T-BUD(雙穩態BUD)透過切換其輸出狀態作出反應。BUD的自復位通常依賴於活塞。偵測器也被認為是BUD的一種。教學/方塊更新感應器有更多資訊。
- 多輸入電路
多輸入電路能夠同時處理多個輸入並得出綜合輸出。此類電路是建造計算器、數字鐘與基本計算機的基石。
- 資料分配器與繼電器
資料分配器為邏輯閘的高級形式之一,選擇端的輸入訊號決定輸出端輸出與哪個輸入端的資料。
建造電路
計劃
建造紅石電路的第一步是確定電路能做些什麼。
- 應該在哪裡控制整個電路?如何控制?
- 電路是由玩家控制,生物移動控制或是其他控制方式?
- 電路能夠實現什麼樣的功能?
- 照明、推動方塊/生物、識別物品或其他?
- 訊號如何從控制端傳向機械?
- 需要將多個來源產生的訊號組合到一起嗎?
建造
建造電路時使用特定的方塊組合是個不錯的習慣,以便於區分電路的範圍。常見的選擇有石磚、木材、混凝土與羊毛(不同顏色的羊毛有利於你自己區分電路的不同部分)。
當在水或熔岩附近建造電路時要特別小心。很多電路組件會被液體破壞。
建造包含TNT的電路(如陷阱或大炮)時要格外小心。建造中的電路可能會意外點燃TNT,因此強烈建議最後再放置TNT。例如,如果你將紅石火把放置在被充能的方塊上,它將不知道它應該關閉並且可以短暫地為電路提供訊號,直到下一遊戲刻。在電路的其餘部分完成後放置TNT將有助於避免此類問題和元件本身的損壞。這也適用於可能透過這種動作意外啟動的電路的任何其他特徵(例如,在電路準備好之前啟動發射器)。
解決問題
當電路出問題時,仔細檢查,嘗試尋找出問題的來源。
- 是否在從一個弱充能方塊引出訊號?也許需要紅石中繼器使其強充能,或者用紅石中繼器引出訊號。
- 是否讓紅石訊號穿過了一個紅石絕緣體?用紅石導體代替它,或者繞道而行。
- 是否無意中建造了一個短路電路,使得本來應當啟動的紅石火把燒毀了?修正短路電路,並更新紅石火把的狀態。
- 本不該啟動的電路部分是否錯誤啟動了?也許不小心把不同部分的線路之間連了起來。
- 活塞、發射器或投擲器的啟動方法是否錯誤?
壓縮
電路正常工作後,考慮一下是否能夠提高電路的效能。
- 能讓電路反應更快(延遲更短)嗎?
- 減少訊號傳輸中不必要的元件數量,如會拖延時間的中繼器。
- 能讓電路更小嗎?
- 能使用更少的方塊嗎?
- 能縮短紅石線的長度嗎?
- 能讓電路更穩定嗎?
- 電路在極短的脈衝下依然能正常工作嗎?
- 電路在頻繁地啟動/非啟動交替下依然能正常工作嗎?
- Minecraft新版本的特性是否有助於提高電路的效率?
- 電路雜訊能小一些嗎?
- 能儘量少用發出聲音的方塊嗎?
- 能夠減少任何卡頓嗎?
- 具有許多紅石元件的構造經常改變狀態,導致光、聲音或粒子頻繁發生變化,從而導致卡頓。
參見
語言