上一次完成了「基底與分類架構」,這次來整合自動燒製的功能。
在 Minecraft 中,燒東西有三種不同的爐子:熔爐、高爐、煙燻爐,早在只有熔爐的時候就己經可以透過漏斗把待燒物和燃料放進熔爐中,也能經由漏斗抽出成品。
本篇將先從熔爐與漏斗的搭配使用方法開始介紹,接著進入此系統的單一片狀子系統設計,燃料輸入口設計,最後的成品輸出設計。
熔爐的運作原理
首先,我們需要先瞭解漏斗怎麼和熔爐配合。會用漏斗對熔爐輸入和輸出物品後,那麼高爐和煙燻爐也手到擒來。
原版 Minecraft 的漏斗只能從上面輸入,其它五面都可作為輸出口。因此,熔爐的成品輸出勢必得從下方輸出。
依照熔爐 UI,原料在上,燃料在下,所以原料要從熔爐的上方輸入,燃料要從熔爐的側面輸入。
單片子系統設計
如果熔爐放在整個系統中看不見的位置,即使不用單片設計也無妨。但是,如同這篇文章的首圖,我對熔爐的設計有些需求:
- 可以看到熔爐的正面
- 可以並排
- 彼此獨立運作
因此,我花了一些時間弄出單片化的設計:
最上面是原料篩選入口,送進熔爐前,先用一個箱子做暫存,讓他可以儲存短時間內無法消化的原料。
紅石火把前面的燃料輸入口,這裡因為空間的關係,如果要用漏斗輸送燃料,需要把上面的原料輸入口再往上加一格,不然輸送漏斗會被紅石火把鎖住,所以這裡我用的是箱子礦車運送。
與系統的串接也非常容易,上面的篩選漏斗的上面接上系統輸送漏斗就可以運作了。
材料清單:
- 五個漏斗
- 一個箱子
- 一個熔爐
- 一個比較器
- 三個紅石粉
- 一個中繼器
- 一個紅石火把
- 六個任意方塊
整合、並排多個子系統
採用箱子礦車運送燃料也是因為這樣對均分燃料有幫助,不會所有的燃料都集中在起頭的熔爐中。高爐的後面實際上是長這樣的:
左邊的鐵軌是燃料箱子礦車來回掃過的地方。
三個高爐分別燒製:鐵原礦、金原礦、銅原礦,只要把這三個原礦從上次設計系統的存入口送到系統中,原礦就會來到這裡燒製。
燃料輸入口
自動燒製系統的燃料輸入我選擇另外做一個獨立輸入口,這樣才能區分送入系統的煤炭是要儲存起來的?還是當作燃料的?對燃料輸入口的需求如下:
- 單一輸入口
- 均分燃料至所有的爐子
- 送入燃料優先,均分燃料其次
依照需求,勢必得分成兩個箱子礦車:送入礦車、均分礦車。
送入礦車的功能是把我放入的燃料送到均分礦車中,均分礦車的功能是來回掃過每個爐子的燃料輸入漏斗達到均分效果。
第三個需求意味著當送入礦車被送出時,均分礦車需要暫停他的工作並開始接收送入礦車的燃料,完成後才繼續他的工作。
讓我們來看內部吧。
燃料輸入口內部
這裡上方的動力鐵軌是送出礦車的,漏斗是用來抽出送出礦車內容物的,這裡的紅石機關與前一篇的卸貨區一樣。
漏斗下方還有一個動力鐵軌,是均分礦車的。還記得卸貨區的左邊有一根紅石火把嗎?在這裡,紅石火把的下面用一個紅石粉和中繼器往比較器下面的鵝卵石送出訊號觸發均分礦車的動力鐵軌。
運作流程
- 送出礦車抵達卸貨區時
- 漏斗有吸到東西
- 比較器偵測到漏斗內有東西並輸出訊號
- 熄滅左邊的紅石火把
- 上下兩個中繼器不再接收到訊號後便停止輸出訊號
- 漏斗上下的動力鐵軌不觸發,成為兩個礦車的停車處
這樣當送出礦車抵達且有燃料要送入時,下面的均分礦車的動力鐵軌失去作用後能,讓均分礦車停下來,直到所有東西都被送到均分礦車中後,才回復到圖片中的狀態。
兩個動力鐵軌被觸發,讓兩個礦車發車,送出礦車回到輸入口等待下一次的使用者發車,均分礦車出發開始來回掃。
成品送入系統礦車子系統
經由各個爐子燒成的成品經過下面的漏斗抽出並匯集起來送到最下面的箱子礦車中,礦車把成品送到最上面的輸送漏斗起頭處,是上一篇在卸貨區提到的部分。
這個箱子礦車的發車紅石機關是我覺得整個系統裡最困難的,因為我對他的需求有:
- 常駐在此等待物品送入
- 完成物品送入時發車
發車系統設計
起初我採用的方法與燃料輸入口同樣的方式,但後來想說這個礦車只是要用來送東西的沒必要來回掃,況且礦車跑的聲音也很吵,所以變更了原本的設計。
左上角的漏斗是用來接收從各個熔爐匯集而來的成品漏斗,預設這個漏斗是鎖住的,所以旁邊需要用漏斗塞東西進來。
這樣做是因為當只有一個物品進入該漏斗時,比較器來不及判斷漏斗內有沒有東西,漏斗就把東西送到箱子礦車了,所以預設要先鎖住,當比較器偵測到東西後才解鎖把東西送到箱子礦車內。
箱子礦車旁的玻璃是為了解說時能看到比較器使用的,實作時請替換成其他可以讓礦車發車的方塊。
發車系統運作流程
- 當漏斗有東西被塞進來時
- 比較器偵測到漏斗內有東西並輸出訊號
- 熄滅右邊的紅石火把
- 上面的中繼器不再收到訊號後停止輸出訊號
- 解鎖漏斗。同時,右邊的黏性活塞把紅石磚拉回去
- 右下角的紅石粉不再接收到來自紅石磚的訊號後
- 原本被往上推的沙子往下掉。
- 開始輸入產物。
- 當漏斗內的東西都放到礦車上後
- 比較器偵測到漏斗內是空的並停止輸出訊號
- 右邊的紅石火把點亮
- 重新把漏斗鎖起來,同時右邊的黏性活塞把紅石磚推出去
- 沙子左邊的中繼器要設定成 4 ticks
- 礦車發車
第 13 步是 4 ticks 原因
因為當沙子右邊的中繼器發出訊號時,沙子左邊的中繼器也會經過沙子收到訊號,但是同時沙子下方的活塞(非黏性)會把沙子往上推。
此時,沙子左邊的中繼器缺少了接收訊號的來源而不再輸出訊號。所以,如果沙子左邊的中繼器沒有設定成 4 ticks 就會因為接收到的訊號太短,導致箱子礦車下面的動力鐵軌啟用時間太短,讓礦車無法發車。
成品運送礦車的卸貨區
成品區的礦車卸貨區與上一篇提到的卸貨區相同,請參考上一篇卸貨區的設計。