Minecraft 里的紅石電路為何被設計成不能直線上下?
01-07
一般的電線可以鋪在牆上,但紅石不行,要用低處的開關控制高處的設備就要曲折上升,增添了很多不必要的方塊,不美觀,為何要這樣設計?
你沒看紅石是粉末狀嗎……
作為電路元件,紅石線(註:不是紅石粉)需要在每一遊戲刻檢查周圍方塊的更新,而這是實體所不能做到的,因此只能以方塊形式出現。因此同一個方塊內的紅石線強度必須相同。
實名反對樓上 @RECAP PACER 的答案。rp2(這 mod 已經很久沒更新了貌似)和「爬牆紅石」mod 里都可以垂直放置導線,所以信號啥的,顯然不是很嚴重的問題。實在不行在爬牆的「凹」角用附加值修改衰減還不行么?可能的真正原因是:按照設定,mc 的紅石是粉末,撒在地面的……———————————————————————————————————————
另外 @天象 你記錯東西了,Redstone Wire 的附加值是信號強度,不是取向,和鐵軌不一樣的。
實名反對樓上 @Belleve 的答案。不能用mod做出的機制否定mc本身的機制。問題1. 存儲空間不過仍然帶來了一定的問題。紅石的16個位置還是被填滿了,使得不可能用紅石線方塊描述牆上的紅石,因為它和正常紅石邏輯不同。問題2. 擺放那麼問題來了,F處那段線怎麼渲染?我們知道,根據mc的引擎,一個方塊只能渲染自己一個方塊內的內容,不能渲染超出它的大小的內容。A和B其實是一個方塊,放下A的時候自然會把B一起畫上去。而F明顯不能掛在D上,它只能自己單獨一個方塊,那麼它放置是必須往牆上放,那E能不能往牆上放呢?F能不能橫向連接呢,怎麼確定一個紅石線會不會在某個方向上和另一個線相連呢……
問題3. 效率
好,你告訴我,RP把這些都解決了,每根線單獨放就行了。那麼我們就來看看RP到底是怎麼解決這個問題的。看,我就知道,這是一個TileEntity,而且是每放一根線就有一個TileEntity。TileEntity有什麼問題呢?這麼說:普通的方塊在地圖裡是一個三維數組,數組裡放置方塊信息;而每個TileEntity都是一個對象,放在list里,,存儲自己的位置信息,要生成和銷毀。換句話說,TileEntity十分性能不友好。別以為RP是什麼好東西,它寫代碼非常「粗獷」。包括那個切片,也是TileEntity,一看就知道。我就知道有一個伺服器,喜歡用切片搭建築。不久之後,我們有了一個新名詞,叫切片地獄,專指性能稍微差一點的玩家載入大量切片之後幀數跌到個位數的現象。MC能幹這麼么暴力的事嗎?(也能)不能這麼張狂,它還是要為自己的性能負責的。但是mod就不一樣了,玩家裝了一大堆mod,只能感覺到總體的性能退步,具體誰佔了多少資源,誰都不知道。所以為什麼mod端性能這麼差,不是因為他們沒有能力做到優化,而是因為——推諉,扯皮,唯KPI,又沒有可靠的考察性能的機制,造成了mod界浮誇成風,不重細節,大家爭相推出新功能卻不注意維護自己代碼,劣幣驅逐良幣,最後反過頭來還是用戶吃苦。這就是一個IT界代碼怎麼變差的真實例子。
最後,我想了一個輕量級的解決方案。為了得到一種可以爬牆的紅石,我們必須再做一個紅石線方塊,專門用來爬牆。但是實際上這種解決方案依然有很多缺點,首當其衝的就是E算是同一方塊,F卻算是不同方塊,帶來的紅石信號不同步問題。其次還有很多問題比如仍然沒法掛在天花板上,轉角接觸和紅石信號方向又是個大問題,如何避免兩面相對的牆上同時被粘上紅石線又是個問題,總之我認為還是保持現狀比較好,因為現在的機制其實並不會讓你在信號上下傳遞的時候消耗更多資源,而空間——你缺空間嗎。但是我就不明白Survivalcraft里為啥就能做電線……
反正我都是垂直擺一路取反上去…(沒做過調查,感覺用起來沒差)
可以百度一下粘性紅石……
推薦閱讀:
※minecraft中有哪些優秀的mod?
※玩 Minecraft 時你一個人完成的作品裡,最有成就感的是什麼?
※有沒有類似 Minecraft 的,畫面是 3D 的沙盒遊戲?
※我的世界(Minecraft)好玩在哪裡?
※為什麼Minecraft生存模式玩久了會很無聊?
TAG:我的世界Minecraft |