方塊更新感應器(Block Update Detector),英文縮寫為BUD,是一種利用遊戲中方塊的更新範圍不同來檢測附近方塊更新的紅石裝置。有很多種方塊更新感應器的設計方案,它們都基於同一思想:將紅石電路置於一種本應不穩定的狀態,但是因為一些本應影響電路穩定的方塊並沒有對電路的變化產生反應,從而使整個電路保持穩定狀態。這些「懶惰」的方塊就將充當「傳感器」的作用。當相鄰方塊因某種原因變更了狀態時,這個(相鄰的發生變化的)方塊將發送一個訊號來「喚醒」傳感器方塊,使這個電路就表現出其他動作,然後回歸「沉睡」狀態。
這個方法最早被Cored發現。[1] 之後被Etho公佈並被很多玩家共同發展。
檢測項
方塊更新檢測器可以檢測方塊ID或附加值的變更
當以下事件(被稱為NeighborChanged更新
- 放置方塊
- 破壞方塊
- 水或熔岩的方塊狀態Level值的變化
- 霜冰、冰的形成或融化
- 受重力影響的方塊(例如沙)落到地面
- 被活塞移動的方塊,還有活塞本身的動作,黏著方塊開始縮回(不論是否拉動)的黏性活塞頭和輸出訊號過程中開始被移動(此時可被檢測)後到位的偵測器除外。
- 終界使者拾取和放置方塊
- 樹苗長成樹木
- 蘑菇長成巨型蘑菇
- 植物的生長和傳播,包括:蘑菇、甘蔗、花、草叢、仙人掌、南瓜、西瓜(南瓜梗和西瓜梗長出南瓜或西瓜時,梗和南瓜或西瓜都會被方塊更新感應器所感應到)。(可可豆、南瓜梗、西瓜梗、地獄疙瘩、藤蔓、小麥、胡蘿蔔、馬鈴薯、甜菜根等除外)
- 樹葉的生長或枯萎
- 草的生長或死亡
- 泥土變成耕地,耕地重新成為泥土(但是這可以用充能的方法更簡單地檢測到)
- 火的點燃或熄滅
- 紅石礦開始或停止發光
- 紅石線或紅石火把狀態的改變(包括充能等級,但不包括改變指向),其他傳輸元件、電源、觸發鐵軌、鐘、音階盒或動力鐵軌的啟動
- 設定紅石中繼器的延時
- 熔爐開始或停止熔煉
- 鐵軌改變方向
- TNT被點燃並成為實體
- 蠹魚鑽進方塊
- 草地變為草徑
- 蛋糕被食用
- 打開或關上陷阱儲物箱
- 線的啟動和取消啟動(即使線沒有連接到絆線鈎)
將不會被BUD檢測到(他們當中的一些可以被CUD或偵測器檢測到)的方塊與方塊的狀態改變(他們當中的一些被稱為PostPlacement更新
- 藤蔓、瓜莖(南瓜梗和西瓜梗長出南瓜或西瓜時,梗和南瓜或西瓜都會被方塊更新感應器所感應到)、地獄疙瘩、可可豆、歌萊植株的生長
- 乾海綿吸收水
- 草地由於綿羊「吃」草而改變
- 龍蛋在傳送時替換空氣方塊
- 打開或關閉門、地板門或柵欄門
- 從唱片機中插入或移除唱片
- 將終界之眼置入終界傳送門框架
- 樹的自然生長(使用骨粉使樹生長可以被檢測)
- 鍋釜水位的變化
- 打開或關閉儲物箱、終界箱、界伏盒
- 在釀造台上放置和拿走玻璃瓶\藥水\烈焰粉
- 鐵砧被輕微損壞或嚴重損壞
- 改變雪層的厚度
- 在床上睡覺
- 容器內容物的改變(包括儲物箱,陷阱儲物箱,界伏盒,終界箱,發射器,投擲器,釀造台或熔爐。)
方塊更新感應器的種類
遊戲內建
偵測器是在1.11的16w39a快照中加入的內建方塊更新檢測器,但是要注意這種方塊更新檢測器與常規方塊更新檢測器的檢測方式並不相同,因此檢測內容也不完全吻合。
活塞BUD位充能
有很多方塊更新感應器設計方案都是基於活塞被啟動因而未傳遞給方塊更新訊號。[2] 活塞如若在受到訊號時並沒有接收到方塊更新訊號,那麼它就會進入BUD態。
一次性活塞BUD做法如下:充能BUD位,更新活塞(手動更新,或者用紅石火把、Sculk Sensor、紅石粉、觸發鐵軌、鐘、音階盒、活塞、動力鐵軌或鐵軌自動更新),拆掉自動更新活塞的元件和不該出現在BUD旁邊的方塊(除了對著拉不回的史萊姆方塊或蜂蜜塊的黏性活塞頭),解除充能。
一種自復位BUD:取平行地面的黏性活塞,臉上放紅石方塊,將紅石方塊經紅石中繼器接到半連接啟動黏性活塞的實體方塊。紅石中繼器打1刻延時的是單穩態BUD,否則是雙穩態BUD。13w01a以前玩家需要用電源或傳輸元件充能實體方塊代替紅石方塊。
活塞BUD位充能型單穩態BUD
在這種設計中,活塞只會在旁邊方塊更新時伸長,但是當伸長後又會因為活塞臂注意到其旁邊的紅石中繼器被關閉而立即縮回。這是活塞型方塊更新感應器重設的方法:透過對伸長的活塞臂旁邊的電路的變化。 這個設計方案可以拓展為多傳感器,所有的活塞都被設計為傳感器。
一個簡單的利用黏性活塞的方塊更新感應器。
用紅石方塊的單片可堆疊設計:
利用1.8之後的史萊姆方塊我們可以製作一些BUD,一般把利用了史萊姆方塊的BUD叫做史萊姆方塊BUD
一個極緊的自復位活塞BUD設計是向上對著頂上黏著紅石方塊的史萊姆方塊或蜂蜜塊的黏性活塞。它佔1×3(伸長時1×4),傳感器是黏性活塞。玩家需要注意史萊姆方塊是否黏到了牆上。黏性活塞檢測到方塊更新伸縮一次後再檢測更新才能自動復位。它在推出過程中表現為手動復位BUD,原理是活塞完成開始推出的動作前不響應訊號變化;縮回過程中不響應方塊更新。
活塞BUD位充能型雙穩態BUD
透過移除一個方塊更新感應器的復位裝置,這個方塊更新感應器就可以成為雙穩態方塊更新感應器。這個裝置有著兩種可以透過方塊更新來切換的穩定狀態。因此成為「雙穩態BUD」這相當於與T觸發器相連的普通方塊更新感應器。這種方塊更新感應器在檢測熔爐、草/泥土和床的狀態時十分有用。
滿足活塞推出條件但並不給活塞更新訊號
如若將本不滿足推出條件的活塞滿足條件,並且不給予活塞方塊更新訊號,那麼活塞將進入BUD態。這能由亮的偵測器到達活塞面前實現,但使較遠的方塊到位通常更簡便。 下一個設計方案是基於伸長的活塞並不能被其他活塞推動的事實。當活塞縮回時,它並不會啟動其他試圖推它的活塞。附加著一個方塊的黏性活塞是傳感器。這種方塊更新感應器的優點在於節約,並且其利用的遊戲特性不太可能在未來被改變。
中繼器延時為2刻。
右邊的設計收回時,移動的黏性活塞到位時,前面的偵測器還是移動中的活塞,因此沒有計劃方塊事件;然後移動的偵測器變成偵測器也沒有方塊更新,活塞就進BUD態了。
右邊的設計縮短時紅石方塊到位後史萊姆方塊到位更新黏性活塞,此時鑽石方塊沒到位,黏性活塞不打算伸出;鑽石方塊到位時則更新不到黏性活塞。它和那個極緊的史萊姆方塊BUD一樣檢測方塊更新伸縮一次後再檢測下一個才是自復位BUD。
基於其他元件半連接性的方塊更新感應器
基於只有下半部分的門
只有下半部分的門很難製備並在上面放方塊,不過放上方塊之後很穩定
簡單的紅石粉指向方塊更新感應器
紅石導線指向BUG
此錯誤未必對所有版本有效。該錯誤被修復後,下文所述的資訊將不再適用。
請慎重對待。
利用紅石導線改變指向方向並不產生方塊更新訊號的BUG,我們可以製作方塊更新感應器。
動力鐵軌型方塊更新感應器
動力鐵軌或觸發鐵軌如果同一側連續第1到8個同種鐵軌可被啟動,那麼也會被啟動,但是以這種方法被啟動或取消啟動時如果和能量源之間部分鐵軌不隨之啟動或取消啟動,並不能被正確地更新。這就可以被用來製作方塊更新感應器。動力鐵軌可以全部換成觸發鐵軌。部分設計對方向敏感。
除了與感測鐵軌和礦車、偵測器或異常浮空方塊相組合,動力鐵軌型方塊更新感應器只能輸出方塊更新,但延遲和卡頓少,因此通常做成鐵軌鏈傳遞方塊更新。
感測鐵軌型方塊更新感應器
可以透過感測鐵軌和礦車來建造一個方塊更新感應器。下面是一個例子。
基於紅石火把
在14w25a(修復了MC-56541)以後,一個燃盡的紅石火把 可以用於製作BUD。一旦火把燒毀,紅石火把會在方塊更新下重新點亮。這是最小且最簡單的BUD,因為只需要一支紅石火把和紅石線 (再加上兩個中繼器即可成為一個固態的訊號輸出)。
一支在方塊側面的紅石火把,然後放置紅石線,使紅石訊號循環,它本身也是一個BUD。紅石火把周圍 (包括上下兩面)是檢測區域,而紅石線部分則不是其檢測區域。這支紅石火把會閃爍16刻,它最後會燃盡(熄滅)。然後會冷卻(熄滅)56刻。
基於液體
液體收到方塊更新時計算擴散方向,如果流向新的方向能被偵測器發現。
基於地板門
附著地板門的紅石粉、紅石中繼器、紅石比較器、動力鐵軌、感測鐵軌、鐵軌、觸發鐵軌在地板門開啟後收到方塊更新時脫落。這種方塊更新感應器若用在刷鐵軌機,由於鐵軌掉落後仍然會被移到位,可以自動復位。否則它需要手動復位。
玩家操作
指令方塊、鐘、發射器、投擲器、音階盒和絆線鈎被放置時只更新毗鄰方塊,它們和二階毗鄰可以做成方塊更新感應器。界伏盒開閉和海綿在水邊放置時根本沒有方塊更新。玩家操作還可以造成Java堆棧溢出,使多種方塊成為方塊更新感應器。
參見
參考
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||








