紅石電路(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」)作為最小時間單位,rt的表示方法應逐漸廢除。參照國外習慣說法,tick就是gt的縮寫,rt是國內早起的翻譯錯誤。推薦大家使用gt的表示方法,並記住tick在國外紅石領域指gt,而非rt。
在基岩版中,大部分紅石元件的訊號通常每隔1遊戲刻更新一次。因此紅石刻既可以作為時間單位使用,等於2遊戲刻;也可以用「紅石刻」和「非紅石刻」兩個名詞來指代某一遊戲刻,以區分該遊戲刻是否更新紅石訊號。
電路體積
通常使用長×寬×高的格式(電路的外切長方體)描述用於處理訊號的電路的體積,其中包括底層用於附著的方塊,不包括輸入訊號或輸出訊號的方塊或結構。單位為方塊(Block),簡稱b。
描述電路體積的另一種方法是忽略最下層支撐電路的那層方塊(例如位於最下層紅石粉之下的方塊)。然而這種方法無法區分平面電路與一格高的電路。
電路特徵
根據不同的設計目標,應當考慮一些常見的特徵:
- 1格寬電路
- 1格寬電路指至少1個橫向尺寸為1。也稱為單片電路。
- 平面電路
- 指的是可以直接建造在地平面,不需要層疊元件(不計用於支撐紅石元件的地平面)的電路。平面電路通常利於初學者理解與學習。
- 隱藏電路
- 指的是可以完全隱藏在一堵牆,或地板之下,或天花板之上的電路。這種電路尤其適合活塞門。
- 無延遲電路
- 指一接到輸入訊號,能夠馬上輸出的零延遲電路。
- 可堆疊電路
- 指同樣的電路可以一個直接疊在另一個的旁邊或上方的電路,疊放之後各個單元可以被一個總輸入控制。
- 可並列電路
- 指同樣的電路可以一個直接疊在另一個的旁邊或上方的電路,疊放之後各個電路之間不會互相干擾。
可能還會有其他的設計目標,包括降低子電路延遲、減少昂貴元件消耗(例如比較器)與儘量減小設計尺寸等。
基本種類
根據電路的原理及功能,國內玩家將其分為三大模組和其他種類。
數字電路
數字電路,簡稱數電,即透過遊戲所給的邏輯機制(或、非)來實現邏輯運算。
數字電路一般是基於二進制運算法則和邏輯運算來實現各種運算,從而實現各種複雜的計算機和計算器。
數字電路在現實中是一門學科,所以如果沒有知識基礎,數字電路這個領域對普通玩家來說是十分複雜而高深的。
由於數字電路裡實現各種複雜的數學運算多使用到加法器,所以數電圈裏有一句話:數電萬物皆可加。
數電相較於模電,速度較快,體積較大。
紅石模擬電路
「模擬」意為「連續變化」。這並不符合Minecraft中的只有16格離散值的模擬線路(例如,13.43強度的訊號並不存在)。但這裏使用「模擬」一詞是為了區分訊號強度傳輸與0/1傳輸,現實生活中也只有數字電子(僅傳輸高電壓或低電壓)與模擬電子(重在連續變化的電勢)之間的區別與其最為相似了。因此「模擬」與「數字」的叫法被各大Minecraft社群所採用。
紅石模擬電路,簡稱模電,即利用比較器的比較、減法模式來對模擬訊號的處理與運算。現實中的模擬電路是連續的訊號強度,而紅石模擬電路是離散的訊號強度,所以和現實模擬電路還是有區別的,不能混為一談。
由於紅石模擬電路裡實現各種複雜的數學運算多使用到比較器,所以模電圈裏有一句話:紅模萬物皆可減。
模電相較於數電,速度較慢,體積較小。
紅石模擬電路主要分為弱訊號模擬電路和強訊號模擬電路。有的模擬電路也會使用小於0的紅石訊號進行計算。
紅石弱訊號模擬電路
紅石弱訊號模擬電路,簡稱弱模。
弱模是基於0~15的紅石模擬訊號的處理與運算,運算規則一般基於16進制或10進制。
紅石強訊號模擬電路
紅石強訊號模擬電路,簡稱強模。
比較器可以最大可以寄存2,147,483,647訊號強度,而紅石線最大只能寄存0~15紅石強度。強模是對比較器中的15~2,147,483,647訊號強度的模擬訊號進行的運算與處理。
機械電路
機械電路,簡稱械電,即利用活塞、黏性活塞等的種種特性,來實現方塊的推拉。
根據設計目標,可分為高速械電和高壓械電等。
高速械電
只追求速度,不追求體積的機械電路。要求最大程度地提高速度。
通常結構複雜,但速度極快(比如0.15s開門的2x2無痕玻璃門)。
高壓械電
只追求體積,不追求速度的機械電路。要求最大程度地減小體積。
通常結構較為簡單,十分精簡,但有時時序複雜,速度極慢(比如占體積760方塊的6x6活塞門,開關門共75分鐘)[1]。
飛行器科技
注意: 該科技至今沒有完全統一名稱。稱呼視個人以及不同團體和組織而定。
飛行器科技,又稱航械、史萊姆方塊技術、活塞蟲等。
脫胎於械電,利用活塞和史萊姆方塊/蜂蜜塊實現可單向或多向航行的機械,也能用來可移動的其他類型的電路,例如移動矢量炮、移動3x3門、移動樹廠等。
觀賞型
該類別的飛行器經常擁有具美感的外形及內部佈局,有時搭配著一些象徵性的武器。
技術型
該類別的飛行器致力於彰顯其所蘊涵的技術高度,例如全艦數控倉、自訂化引擎、高精密火控、多向可控飛行,通常將其體積壓到極致。
實戰型
該類別的飛行器注重其軍事潛力,往往會與「實戰」關聯。所搭載的模組也以各式武器(如近戰炮、遠程炮、毀滅性電磁炮、潑灑誘導炮、轟炸單元、導彈、保護牆等)為主。
生存實用電路
生存實用電路,簡稱生電。
主要特點是為生存服務,耗材少,穩定性強,多結合其他分支。
TNT大炮
TNT大炮其實是對於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。
記憶電路
與邏輯電路永遠反映輸入訊號不同,記憶電路的輸出不單與輸入相關,還與「過去的輸入」相關。這樣能夠完成對電路過去狀態的「記憶」。在現實生活中的電子學中,鎖存器指對輸入訊號的某個狀態產生反應的電路;觸發器指對輸入訊號的變化產生反應的電路。
- 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觸發器,但在遊戲中用處不大。
還有很多記憶電路可供選擇。
雜項電路
- 示波器
- 示波器為依次連接的中繼器鏈,據此能夠透過點亮的中繼器數量直觀地測量脈衝長度。
- 計數器
- 計數器(Counter)是用於記錄輸入脈衝數量的裝置,基本結構為級聯的邊沿觸發型觸發器。
- 方塊更新感應器
- 參見:教學/方塊更新感應器
- 方塊更新感應器(Block Update Detector,縮寫為BUD)為能夠對方塊的變化產生反應的電路(例如石頭被挖掘,水變成冰,南瓜長出等等)。單穩態BUD透過產生脈衝作出反應,而T-BUD(雙穩態BUD)透過切換其輸出狀態作出反應。BUD的自復位通常依賴於活塞。偵測器也被認為是BUD的一種。
- 多輸入電路
- 多輸入電路能夠同時處理多個輸入並得出綜合輸出。此類電路是建造計算器、數字鐘與基本計算機的基石。
- 資料分配器與繼電器
- 資料分配器為邏輯門的高級形式之一,選擇端的輸入訊號決定輸出端輸出與哪個輸入端的資料。
愛好者們還有很多更複雜的電路方案。
建造電路
計劃
建造紅石電路的第一步是確定電路能做些什麼。
- 應該在哪裏控制整個電路?如何控制?
- 電路是由玩家控制,生物移動控制或是其他控制方式?
- 電路能夠實現什麼樣的功能?
- 照明、推動方塊/生物、識別物品或其他?
- 訊號如何從控制端傳向機械?
- 需要將多個來源產生的訊號組合到一起嗎?
建造
建造電路時使用特定的方塊組合是個不錯的習慣,以便於區分電路的範圍。常見的選擇有石磚、木材、混凝土與羊毛(不同顏色的羊毛有利於你自己區分電路的不同部分)。
當在水或熔岩邊上建造電路時要特別小心。很多電路組件會在液體流過時被破壞。
建造電路以引爆TNT(陷阱或大炮)時要格外小心。建造中的電路可能會意外觸發TNT,因此強烈建議最後再放置TNT。例如,如果你將紅石火把放置在被充能的方塊上,它將不知道它應該關閉並且可以短暫地為電路提供訊號,直到下一遊戲刻。在電路的其餘部分完成後放置TNT將有助於避免此類問題和元件本身的損壞。這也適用於可能透過這種動作意外啟動的電路的任何其他特徵(例如,在電路準備好之前啟動發射器)。
解決問題
當電路出問題時,仔細檢查,嘗試尋找出問題的來源。
- 是否在從一個弱充能方塊引出訊號?也許需要紅石中繼器使其強充能,或者用紅石中繼器引出訊號。
- 是否讓紅石訊號穿過了一個非實體方塊?用實體方塊代替它,或者繞道而行。
- 是否無意中建造了一個短路電路,使得本來應當啟動的紅石火把燒毀了?修正短路電路,並更新紅石火把的狀態。
- 本不該啟動的電路部分是否錯誤啟動了?也許不小心把不同部分的線路之間連了起來。
- 活塞、發射器或投擲器的啟動方法是否錯誤?
壓縮
電路正常工作後,考慮一下是否能夠提高電路的效能。
- 能讓電路反應更快(延遲更短)嗎?
- 減少訊號傳輸中不必要的元件數量,如會拖延時間的中繼器。
- 能讓電路更小嗎?
- 能使用更少的方塊嗎?
- 能縮短紅石線的長度嗎?
- 能讓電路更穩定嗎?
- 電路在極短的脈衝下依然能正常工作嗎?
- 電路在頻繁地啟動/非啟動交替下依然能正常工作嗎?
- Minecraft新版本的特性是否有助於提高電路的效率?
- 電路雜訊能小一些嗎?
- 能儘量少用發出聲音的方塊嗎?
- 能夠減少任何卡頓嗎?
- 具有許多紅石元件的構造經常改變狀態,導致光、聲音或粒子頻繁發生變化,從而導致卡頓。