Minecraft/紅石電路
- 歡迎正在閱讀這個條目的您協助編輯本條目,請儘量用萌百化的語言編輯且以中文Minecraft Wiki作為主要參考資料來源!
新聞
- 2023年4月18日
- Minecraft Legends發佈。
- 2022年11月29日
- Minecraft: Castle Redstone發佈。
- 2022年11月1日
- Minecraft: Mob Squad: Don't Fear the Creeper發佈。
- 2022年10月15日
- Minecraft Live 2022舉行。
- 2022年6月13日
- Mojang Studios宣佈了一款Minecraft主題的動作策略遊戲Minecraft Legends。
最近更新
- 2023年6月7日
- Java版1.20和基岩版1.20.0發佈。
- 2023年5月17日
- 基岩版1.19.83發佈。
- 2023年4月27-28日
- 基岩版1.19.81發佈。
- 2023年4月26日
- 基岩版1.19.80發佈。
- 2023年3月29-30日
- 基岩版1.19.73發佈。
紅石電路為Minecraft中玩家建造起來用於控制或激活其他機械的結構。
紅石結構的主題非常廣泛。本條目僅僅是紅石電路主要分支及發展方向的一個概述,並不會涉及具體的電路搭建以及其他更多細節。更多信息請前往Minecraft Wiki。
當然,實際的電路可以適用多種分類。現今的複雜紅石電路則往往會涉及多種技術,甚至引入模塊化、集成化、多個作者協同創作等思想方法,儼然一個龐大的系統工程。
簡介
紅石電路(Redstone Circuits)是Minecraft中一種圖靈完備的邏輯系統。
紅石電路涵蓋生存實用、數字電路模擬、自定義地圖製作等各個方面,是重要的基礎工具。基本紅石電路是每個Minecraft玩家的必修課,而高級紅石電路則令人驚嘆——sdl,wsl
紅石電路本身也是Minecraft有別於其它沙盒遊戲中最優秀與突出的元素之一。紅石電路基本是基於現實生活中的數字電路的。如果熟悉高等教育中的數字電路的知識的話,將更易理解紅石電路。
但請注意,除去在生活中相對應的部分電路,Minecraft中有更多遊戲獨有的電路(最大的例子:生電),這也是紅石電路的魅力所在。(難不成你們是來玩模電/數電模擬器的?)
基本概念
在描述基本的紅石電路之前,需要先了解一些基本概念。
紅石元件
- 主條目:紅石元件列表
紅石元件是在紅石電路里具有一定使用目的的方塊,大致分為三個大類。
- 電源為整個電路或部分電路提供信號來源,例如紅石火把、按鈕、拉杆、紅石塊、壓力板等。
- 傳輸元件將信號從電路的一部分傳遞到另一部分,例如紅石粉、紅石中繼器、紅石比較器等。
- 機械元件接受信號並作出反應(例如移動、發光等),例如活塞[1]、紅石燈、發射器等。
由於紅石火把、紅石粉、紅石中繼器、紅石比較器這四個方塊既可以被激活,又可以激活其他元件,因此也可單獨劃分為一類,稱為紅石元器件。
位置
一個方塊佔據一個正方體的空間,正方體有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格空間,激活任意一半門,另一半也會被激活。
充能與激活
- 主條目:紅石電路/充能與激活
對於屬於紅石導體的機械元件(包括命令方塊、投擲器、發射器、音符盒與紅石燈等等),既可以被充能也可以被激活。因此區分它們是被激活還是被充能相當重要:
- 如果它能夠激活毗鄰的紅石元器件和機械元件,那麼它就被充能了。
- 如果它本身作出了一定的反應,那麼它就被激活了。
機械元件只要被充能就一定也會被激活,但被激活並不會一定會被充能(如被毗鄰的充能方塊激活)。
不是紅石導體的機械元件(門、柵欄門、活塞、漏斗、鐵軌、地板門等等)可被激活並作出反應,但因為不具備紅石導體的性質而無法被充能。
方塊更新(狹義)
- 主條目:方塊更新#NC更新當一個方塊發生狀態的改變時,該改變會引起周圍方塊的方塊更新。
在Java版中,紅石電路的運作依賴於方塊更新機制。單次方塊更新會使得周圍的其他紅石元件接收到「附近發生變化」的提示,以檢測自身是否應該發生變化。如果發生了變化,將又會對周圍發出方塊更新。更新引起變化、變化創造更新,這將會是個連鎖反應,電路不一定能達到完全穩定的狀態。
在Java版中,充能並非遊戲內部的機制,因此,不管是否被充能或解除充能都不能產生方塊更新。元件發生變化時,會更新周圍足夠範圍內的方塊以使電路正常工作(例如,壓力板更新其毗鄰及其附着的毗鄰)。
除了方塊更新之外,紅石比較器還可以通過其後方兩格內的容器(包括上有運輸礦車的探測鐵軌)和某些其他方塊的變化(例如物品欄里的物品發生變動)進行更新;偵測器還可以檢測某些方塊變化而進行更新。
以下為Java版中的通常情況下的方塊更新範圍:
下列紅石元件會產生二階毗鄰範圍的方塊更新:
下列紅石元件產生的方塊更新範圍是其毗鄰和附着(或者指向)的毗鄰:
- 按鈕
- 探測鐵軌(僅限水平鐵軌,還會使得比較器更新)
- 動力鐵軌(僅限水平鐵軌)
- 激活鐵軌 (僅限水平鐵軌)
- 拉杆
- 壓力板
- 測重壓力板
- 陷阱箱 (毗鄰和其下方方塊的毗鄰。還會使得比較器更新)
- 絆線鈎(破壞或改變狀態)
- 講台(毗鄰和其下方方塊的毗鄰。還會使得比較器更新)
- 避雷針
- 幽匿感測體(毗鄰和其下方方塊的毗鄰)
- 以下的紅石元件的更新範圍是指向及指向的毗鄰(除該元件本身位置):
- 偵測器
- 紅石比較器
- 紅石中繼器
下列紅石元件產生的方塊更新範圍是其毗鄰、其上方方塊的毗鄰以及下方方塊的毗鄰:
下列紅石元件產生的方塊更新的範圍只有它的毗鄰:
- 鐵軌(僅限水平鐵軌)
- 陽光探測器
- 反向陽光探測器
- 絆線(同時會使有效聯結的絆線鈎開啟)
- 活塞與黏性活塞(包括活塞臂與移動中的活塞)
- 音符盒
- 鍾
- 絆線鈎(放置)
- 標靶
下列方塊的狀態更改時不會引發方塊更新:
- 命令方塊(但會使比較器更新)
- 發射器(但會使比較器更新)
- 投擲器(但會使比較器更新)
- 門
- 柵欄門
- 漏斗(但會使比較器更新)
- 紅石燈
- 地板門
紅石系統
紅石系統是遊戲用來管理紅石電路的一個機制。在基岩版中,紅石電路的運作主要依賴於紅石系統,同時也會受到方塊更新的影響。
紅石系統儲存了所有的紅石元件及其附近的實體方塊的信息及連接方式。每兩遊戲刻,紅石系統就進行一次信號更新,計算和設置各個紅石元件的紅石信號。
紅石刻
- 主條目:刻
紅石刻(Redstone tick)簡稱刻或rt,也就是2遊戲刻(如果沒有卡頓等於0.1秒)。
在Java版中,因為多數紅石元件需要1rt或更多時間改變狀態,所以紅石刻曾被定義為Minecraft更新紅石元件狀態的最小時間單位,曾被玩家在紅石電路中廣泛使用。隨着對遊戲機制的進一步了解,現在常把遊戲刻(簡稱「gt」)作為最小時間單位。
在基岩版中,大部分紅石元件的信號通常每隔1遊戲刻更新一次。因此紅石刻既可以作為時間單位使用,等於2遊戲刻;也可以用「紅石刻」和「非紅石刻」兩個名詞來指代某一遊戲刻,以區分該遊戲刻是否更新紅石信號。
電路體積
通常使用長×寬×高的格式(電路的外切長方體)描述用於處理信號的電路的體積,其中包括底層用於附着的方塊,不包括輸入信號或輸出信號的方塊或結構。單位為方塊(Block),簡稱b。
描述電路體積的另一種方法是忽略最下層支撐電路的那層方塊(例如位於最下層紅石粉之下的方塊)。然而這種方法無法區分平面電路與一格高的電路。
電路特徵
根據不同的設計目標,應當考慮一些常見的特徵:
- 1格寬電路
- 1格寬電路指至少1個橫向尺寸為1。也稱為單片電路。
- 平面電路
- 指的是可以直接建造在地平面,不需要層疊元件(不計用於支撐紅石元件的地平面)的電路。平面電路通常利於初學者理解與學習。
- 隱藏電路
- 指的是可以完全隱藏在一堵牆,或地板之下,或天花板之上的電路。這種電路尤其適合活塞門。
- 無延遲電路
- 指一接到輸入信號,能夠馬上輸出的零延遲電路。
- 可堆疊電路
- 指同樣的電路可以一個直接疊在另一個的旁邊或上方的電路,疊放之後各個單元可以被一個總輸入控制。
- 可並列電路
- 指同樣的電路可以一個直接疊在另一個的旁邊或上方的電路,疊放之後各個電路之間不會互相干擾。
可能還會有其他的設計目標,包括降低子電路延遲、減少昂貴元件消耗(例如比較器)與儘量減小設計尺寸等。
技術分支
生存電路
又稱生存實用電路,簡稱生電。 特點是為生存服務,要求可在純生存中實現。主要目標基本是大量生產某一種或某一類物品(例如各類刷怪塔、樹場、自動刷石機等或者成就/進度)
雖然絕大多數生電電路是用於生產物品的,但是也有部分是用來處理物品或進行其它用途的(例如自動熔爐組、物品分類機、自動釀藥機等)。
根據各個電路的需求不一,有些電路設計傾向於低耗材,而有些電路追求高產量;在工程較大時,減少遊戲卡頓也是一個重要因素。
雖然稱為"電路",生存電路的核心往往不僅僅是紅石機制————更多的是遊戲機制:生成機制、更新機制、數據結構......(常用手段包括但不限於:刷怪/生物、半自動或全自動種植及採收植物、合理的理由遊戲bug特性複製部分不可再生資源等)。
在各種情況下,任何電路都能成為生電。
機械電路
機械電路,簡稱械電。 機械電路即利用活塞,粘性活塞等的種種特性,來實現方塊的推拉。電路較大時,此技術分支往往結合飛行器技術,但一般僅僅作為電路的一部分使用,主體仍然屬於機械電路。
高速械電
只追求速度,不追求體積的機械電路。要求最大程度地提高速度。 通常結構複雜,但速度極快(比如0.15s開門的2x2無痕玻璃門,還有一個日本dalao製作的一運行就卡的不要不要的0tick紅石計算機)。
- 註:tick(簡稱T,中文為刻)為Minecraft中時間單位,一般指遊戲刻(gt,不卡頓為0.05秒,是遊戲計算的基本單位)和紅石刻(rt,等於2遊戲刻,不卡頓即為0.1秒,為大部分紅石元件的運行周期)。此處顯然指紅石刻。
高壓械電
只追求體積,不追求速度的機械電路。要求最大程度地減小體積。 通常結構較為簡單,十分精簡,但有時時序複雜,速度極慢(比如占體積760方塊的6x6活塞門,開關門共75分鐘)。
觀賞類
主要包含特殊圖案、結構的拼搭等。其中,用機械電路重新實現的放大版原版方塊,稱為"普通oo"。外立面全部是偵測器、發射器、投擲器的,稱為"精神污染"。還有一些玩梗的電路(例如在門上拼出"草"的活塞門)。
數字電路
數字電路,簡稱數電,即通過遊戲所給的邏輯機制(或、非)來實現邏輯運算,並最終通過邏輯運算達到某種運算功能。由於邏輯運算往往需要使用各類數據存儲器、緩衝,故而它們也是數字電路的組成部分。
數字電路在現實中是一門學科,所以如果沒有基礎,數字電路這個領域是十分複雜而高深的。
由於數字電路里實現各種複雜的數學運算多使用到加法器,所以數電圈裏有一句話:數電萬物皆可加。
數電相較於模電,速度較快,體積較大。
Minecraft中數字電路的許多模塊功能基於現實中的數字電路(如RAM、ROM、CPU、編碼器等先給我手搓個全加法器再說甚至還有遊戲內建的計算機)。再加上基本邏輯門的實現方式也與現實接近(除了延遲不可忽略),Minecraft中高級數字電路的建造所需要的知識幾乎和現實一模一樣。徒手構造 Minecraft 數字電路與徒手繪製集成電路版圖大同小異。
存在可以將現實中晶片設計與 FPGA 編程使用的 Verilog 硬件描述語言代碼編譯成 Minecraft 地圖的軟件。因此 Minecraft 可以用於對現實晶片設計進行仿真模擬。
紅石模擬電路
紅石模擬電路,簡稱模電,即利用比較器的加減和遊戲提供的運算機制(比較,減法)來對模擬信號的處理與運算。模擬電路是連續的信號而紅石模擬電路是離散的信號,所以和真正的模擬電路還是有區別的,不能混為一談。 紅石模擬電路主要分為弱信號模擬電路和強信號模擬電路。 由於紅石模擬電路里實現各種複雜的數學運算多使用到比較器,所以紅模圈裏有一句話:紅模萬物皆可減。 模電相較於數電,速度較慢,體積較小。
紅石弱信號模擬電路
紅石弱信號模擬電路,簡稱弱模。 弱模是基於0~15的紅石模擬信號的處理與運算,運算規則一般基於16進制或10進制。
紅石強信號模擬電路
紅石強信號模擬電路,簡稱強模。 比較器可以最大可以寄存2,147,483,647信號強度,而紅石線最大只能寄存0~15紅石強度。即強模是對比較器中的15~2,147,483,647信號強度的模擬信號進行的運算與處理。
TNT炮
TNT大炮是使用TNT加速和拋射其他實體(如玩家、生物、投擲物或者另一些TNT)的裝置。通常會大量涉及實體碰撞箱、實體速度計算等知識,還需要一個由數字電路組成的複雜火控系統。
TNT炮圈有個不成文的規定:不能在炮內使用防爆方塊。
矢量炮
通過控制各方向的加速TNT數量,實現精準打擊。如果將加速對象換成終界珍珠,則可實現定點傳送。
通常有以下幾部分:數控系統:控制各個部分協調運作;TNT複製列陣:複製TNT並歸聚到指定位置;校準系統:校準代發射的箭矢或其他實體然而一般只有箭矢、終界珍珠等少量實體能夠經受住大量TNT轟炸;
電磁炮
名字取自大名鼎鼎的超電磁炮,但運作原理與電磁學無關。某科學的我的世界實際上是通過發射一系列爆炸時間經過精確調製的TNT,實現多段加速,從而在地表形成基本成一直線的坑。這一效果與超電磁炮接近,故得名。
與矢量炮結構有部分相似,但發射的不是箭矢、終界珍珠一類的實體,而是大量的TNT
飛行器技術
注意: 該科技至今沒有完全統一名稱。稱呼視個人以及不同研究組織而定。
飛行器技術,泛稱綠萌、又稱航械、粘液塊技術。也常被稱為活塞蟲。
1.8版本,更新粘液方塊後,脫胎於械電,利用活塞和粘液塊/蜂蜜塊實現可單向或多向航行的機械,能用來移動幾乎所有本條目的電路,例如移動矢量炮、移動33門、移動CPU、移動樹廠等。
技術型
該類別的飛行器致力於彰顯其所蘊涵的技術高度,例如全艦數控倉、自定義化引擎、高精密火控,亦或者搭載可移動的其他電路,通常將其體積壓到極致。
性能型
該類別的飛行器致力於發掘飛行器技術用於軍事用途的潛能,例如各類可移動戰艦,以及由此衍生出的種種技術方面的論證
效能型
該類別的飛行器主要用于于進行某種工程建設,或是用於遊戲內的工業化生產活動。如世界吞噬者主要用來挖區塊、地板機用來鋪地板、盾構機可以在炸遠古殘骸時抵擋部分爆炸傷害,或是作為全自動農場的收集裝置使用等。通常屬於純淨生存電路(在任何情況下禁止使用指令、但是非純淨可以使用mod)。
觀賞型
該類別的飛行器主要用於觀賞,因此對外形的塑造較為看重。所以其外觀較為優美
無線紅石技術
無線紅石技術,就是使用紫水晶塊和幽匿感測體遠程傳輸信號或者利用各種各樣的bug來達成遠程操控其他紅石機械的目的的技術。
|