一個12X3的紅石儲存器單元
紅石電路(Redstone circuits)為你可以建造起來用於控制或啟動其他機械的結構。
電路本身既可以被設計為用於響應玩家的手動啟動,也可以讓其自動工作——或是反覆輸出訊號,或是響應非玩家引發的變化,例如生物移動、物品掉落、植物生長、日夜更替等等。Minecraft中能夠被紅石控制的機械類別幾乎覆蓋了你能夠想像到的極限,小到最簡單的機械(如自動門與光開關),大到占地巨大的電梯、自動農場、小遊戲平台,甚至遊戲內建的計算機。
如果您懂得紅石電路的建造方法,善於利用電路控制機械裝置,那麼你在Minecraft裡將大有可為。紅石電路本身也是Minecraft有別於其它沙盒遊戲中最優秀與突出的元素之一。
本條目僅僅是不同紅石結構的一個概述。您可以點擊各章節的主條目查看詳細資訊。紅石電路基本是基於現實生活中的數字電路的。如果您熟悉高等教育中的數字電路的知識的話,本篇目對您來說將很容易理解。
注意:
- 本條目及其子條目用「1/0」或「高電平/低電平」代表紅石「啟動/非啟動」。
- 本條目及其子條目用計量單位「刻」來表示紅石的最小脈衝寬度,1刻=0.1秒=2倍遊戲執行單位週期。在其它非紅石相關條目中可能會出現1刻=0.05秒的情況,詳見刻條目。
- 本條目及其子條目的「同相,反相」與「同向,反向」兩組術語不可混淆。「相(Phase)」代表相位,指邏輯代數中的「相同」與「相反」(例如「真」與「假」互為反相);「向(Direction)」代表方向,意味空間走向(例如「朝東」與「朝西」互為反向)。
- 本篇中的「上邊沿/上升沿」指紅石訊號由「未啟動」到「啟動」的變化瞬間;「下邊沿/下降沿」指紅石訊號由「啟動」到「未啟動」的變化瞬間。
基本概念
在描述能夠建築紅石電路的方塊以及可建的電路種類之前,您需要對一些基本概念有所認知。
紅石元件
- 主條目:紅石元件
紅石元件是在紅石電路裡具有一定使用目的的方塊,大致分為三個大類:
- 電源為整個電路或部分電路提供能量來源,例如紅石火把、按鈕、控制桿、紅石方塊、壓力板等。
- 傳輸線將電能從電路的一部分傳遞到另一部分,例如紅石粉、紅石中繼器、紅石比較器等。
- 電動機械接受電能並作出反應(例如移動、發光等),例如活塞、紅石燈、發射器等。
充能
紅石元件與部分方塊能夠被充能或解除充能。如果說一個方塊被「充能」了,則這個方塊就可以作為電源,具有向毗鄰的「電器」方塊供電以使其工作的潛力。(「毗鄰」是這樣定義的:一個方塊是正方體,正方體有6個面。也就是說與一個方塊的任意一個面接觸的方塊最多可能有6個,稱之為「與該方塊毗鄰的方塊」)。
當非透明方塊(例如石頭、沙石、泥土等)被電源 (或是中繼器、比較器)充能,我們稱這個方塊被強充能了(這個概念與充能等級不同)。強充能的方塊可以啟動毗鄰的紅石線。
當非透明方塊僅被紅石線充能,我們稱這個方塊被弱充能了。與強充能的唯一區別是,弱充能的方塊無法啟動毗鄰的紅石線。
被充能的方塊(無論強度如何)都可以影響毗鄰的紅石元件。不同的元件產生的反應不同。您可以查看這些元件的具體描述。
充能等級
充能等級(又稱「訊號強度」)為0到15的整數。大多數電源組件均提供滿強度的15級訊號,但少數電源組件能提供可定義的訊號強度。
紅石線能向相鄰的紅石線傳導訊號,但每傳導1格,充能等級就降低1。因此,連續的紅石線最遠能將能量傳到15格遠。為了突破這個限制,你可以保持(使用紅石比較器)或是重新加強(使用紅石中繼器)紅石訊號。充能等級只會因為紅石線之間的直接傳導而衰減,不會在紅石線與其他元件或方塊之間衰減。
紅石(狀態)更新
當電路的某一部分發生狀態的改變,該改變會引起所有毗鄰方塊的「紅石(狀態)更新」(請勿與Minecraft 1.5正式版的代號「紅石更新」混淆)。紅石更新是個連鎖反應,會計算直到到達已載入區塊的邊界。
紅石刻
紅石刻(Redstone tick)為Minecraft計算紅石機構狀態的最小時間單位,等於0.1秒。紅石火把,中繼器以及啟動的紅石組件需要1刻或更多時間改變狀態,這就引入了在大型電路中至關重要的延遲。
紅石刻與「遊戲刻」或「方塊刻」不同。當討論紅石電路時,「刻」一詞僅指「紅石刻」。
訊號與脈衝
具有穩定輸出的電路能夠產生訊號——「啟動/非啟動」時稱為「真/假」或「高電平/低電平」。當訊號出現一個較為短暫的非啟動-啟動-非啟動過程,該過程通常被稱為脈衝(或正脈衝。相反的過程被稱為負脈衝)。
非常短的脈衝(1-2刻的)可能會使一些電路組件由於紅石部件的更新順序差異而產生問題。例如紅石火把、比較器無法響應由中繼器形成的1刻脈衝。
電路與機械
兩個術語通常都用於指包含電路組件的結構,但兩者一般還是有明顯區別的:
- 電路(circuit)為處理訊號的結構(生成,修改,組合等)。
- 機械(mechanism)會對環境產生影響(移動方塊,開門,改變光照強度,播放聲音等)。
所有機械均包含紅石組件或電路,但電路本身是不會對環境產生影響的(除了紅石火把或中繼器在啟動時產生的光,或活塞作為電路組成成分之一時造成的推拉方塊的負效果)。明確這些簡單的概念有利於我們理解紅石電路
電路尺寸
本wiki用寬× 長× 高的格式(電路的外切長方體)描述電路的尺寸,其中包括底板支撐方塊,但不包括輸入/輸出。
描述電路尺寸的另一種方法是忽略最下層支撐電路的那層方塊(例如位於下層紅石粉之下的方塊)。然而這種方法無法區分平面電路與一格高的電路。
通常直接用電路的占地面積,或是直接用1格寬的電路的長度描述電路尺寸較為方便。
電路特性
根據不同的設計目標,您應當考慮一些常見的特性:
- 1格高電路
- 1格高電路意味著其縱向只有1格,也就是說這種電路不能存在需要下方方塊支撐的元件(例如紅石線、紅石中繼器)。
- 1格寬電路
- 1格寬電路指至少1個橫向尺寸為1.
- 平面電路
- 指的是可以直接建造在地平面,不需要層疊元件(不計方塊支撐紅石元件)。平面電路通常利於初學者理解與學習。
- 隱形電路
- 指的是可以完全隱藏在一堵牆,或地板之下,或天花板之上的電路。這種電路尤其適合活塞門。
- 立即響應電路
- 指一接到輸入訊號,能夠馬上輸出的零延遲電路。
- 靜音電路
- 指不會發出聲音的電路。這種電路不會有活塞、發射器、投擲器等會發出響聲的元件。此類電路適合陷阱、安靜環境以及需要減噪的電路的建造。
- 可堆疊電路
- 指同樣的電路可以一個直接疊在另一個上面的電路,疊放之後電路之間不會互相干擾。
- 可並列電路
- 指同樣的電路可以一個直接毗鄰另一個旁邊建造的電路,毗鄰之後電路之間不會互相干擾。
可能還會有其他的設計目標,包括降低子電路延遲、減少昂貴元件消耗(例如比較器)與儘量減小設計尺寸等。
電路類型
雖然建造電路的方法無窮無盡,但特定的電路建造樣式是比較固定的。下面的章節對Minecraft社群中流行的電路進行了分類,每個章節有獨立的主條目用於描述具體的電路設計方案。
某些電路可能只能完成最簡單的控制功能,但你將逐漸能用此類簡單電路的組合成複雜的、能夠滿足機械需要的大型電路。
傳輸電路
訊號傳輸常用術語包括:傳輸類型,縱向傳輸,中繼器與二極體。
- 數字的:僅有0/1概念的傳輸。
- 模擬的:與訊號強度相關的傳輸。
- 二進位的:多條數字線路,每條線路代表一個二進位數的其中一位。
- 一元的:多條數字線路,啟動哪條線路決定傳輸的資料。
向上縱向傳輸
向下縱向傳輸
- 雖然橫向傳輸較為直接,但縱向傳輸有時具有出人意料的適應性與集成性。
- 導線階梯
- 最簡單的縱向傳輸就是在斜向上的方塊上鋪設紅石線,1×2的上半格半磚(半磚)上直線向上鋪紅石,或是2×2的螺旋結構,或是其它類似結構。導線階梯既能夠向上也能向下傳輸訊號,無延遲,但占地龐大,每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觸發器
- 具有稍微複雜的時序邏輯。詳見具體條目。
- 計數器
- 與基本觸發器不同,計數器能夠具有多個狀態,從而完成對較大數字的計數。
還有很多記憶電路可供選擇。
雜項電路
此類電路一般不常見,但卻是大型複雜工程的重要組成部分。
- 資料分配器與繼電器
- 資料分配器為邏輯門的高級形式之一,選擇端的輸入訊號決定輸出端與哪個輸入端相同。
- 多輸入電路
- 多輸入電路能夠同時處理多個輸入並得出綜合輸出。此類電路是建造計算器、數字鐘與基本計算機的基石。
- 方塊更新感應器
方塊更新感應器(Block Update Detector,縮寫為BUD)為能夠對方塊狀態改變產生反應的電路(例如石頭被開採,水變成冰,南瓜長出等一切涉及方塊的資料變更的行為)。
愛好者們還有很多更複雜的電路方案。
建造電路
計劃
建造紅石電路的第一步是確定電路能做些什麼。
- 應該在哪裡控制整個電路?如何控制?
- 電路是由玩家控制,生物移動控制或是其它控制方式?
- 電路能夠控制什麼樣的機械?
- 照明、推動方塊/生物、識別物品或其他?
- 訊號如何從控制端傳向機械?
- 需要將多個來源產生的訊號組合到一起嗎?
建造
建造電路時使用特定的方塊組合是個不錯的習慣,這樣你當修建其他的工程時,看到這些方塊你就能意識到不能再繼續挖了。常見的選擇有石磚、雪塊與羊毛(不同顏色的羊毛有利於你自己區分電路的不同部分)。
當在水或岩漿邊上建造電路時要特別小心。很多電路組件會在液體流過時被破壞。
建造電路以引爆TNT(陷阱或大炮)時要格外小心。建造中的電路可能會意外觸發TNT,因此強烈建議最後再放置TNT。
解決問題
當電路出問題時,仔細檢查,嘗試尋找出問題的來源。
- 你是否想從一個弱充能方塊引出電能?也許你需要紅石中繼器使其強充能,或者用紅石中繼器引出電能。
- 你是否想讓電能穿過一個透明方塊?用非透明方塊代替它,或者繞道而行。
- 你是否無意中建造了一個短路電路,使得本來應當啟動的紅石火把燃盡了?修正短路電路,並更新紅石火把的狀態。
- 本不該啟動的電路部分是否錯誤啟動了?也許你不小心把不同部分的線路之間連了起來。
- 活塞、發射器或投擲器的啟動方法錯誤?
精煉
電路正常工作後,考慮一下是否能夠提高電路的效能。
- 你能讓電路反應更快(延遲更短)嗎?
- 減少訊號傳輸中不必要的元件數量,如會拖延時間的中繼器.
- 你能讓電路更小嗎?
- 你能使用更少的方塊嗎?
- 你能縮短紅石線的長度嗎?
- 電路在極短的脈衝下依然能正常工作嗎?
- 電路在頻繁地啟動/非啟動交替下依然能正常工作嗎?
- Minecraft新版本的特性是否有助於提高電路的效率?(如1.5的紅石比較器等)
- 電路雜訊能小一些嗎?
- 活塞伸縮、紅石火把亮滅等多數元件在開關時會發出聲音。