[教學]「BUD運作原理的說明」(1.02版)
壹、適用版本:1.4.5版本以前
貳、名詞說明:
1、「更新」:放置方塊、打掉方塊、紅石線亮和熄滅、紅石燈燈亮和熄滅、
泥土變草地、泥土變耕地、熔爐暗與亮等等皆為更新。
2、「充能」:嚴格來說有分強充能和弱充能,本篇的充能指的是紅石線和
壓力板會對下方的方塊弱充能、開關按鈕對左右方的方塊弱充能。
3、「方格A」:活塞上一格的周圍東南西北四格,(註:下一格的周圍四格不算)
指的是位置,不是物體
如圖,http://i.imgur.com/98CwDyq.png
![](https://i.imgur.com/98CwDyq.jpg)
4、「方格B」:沒伸長活塞的周圍六格,伸長活塞的周圍10格
指的是位置,不是物體
如圖,http://i.imgur.com/psSwMRI.png
![](https://i.imgur.com/psSwMRI.jpg)
![](https://i.imgur.com/rF1ztus.jpg)
參、BUD運作的機制
機制甲:前提當方格A處在充能的狀態下,方格B發生了更新的動作,
則活塞會伸長或維持伸長,然後就不動了。
如圖,http://i.imgur.com/jiiwKwx.png
![](https://i.imgur.com/jiiwKwx.jpg)
![](https://i.imgur.com/7KqDmnj.jpg)
![](https://i.imgur.com/4SdA2Bz.jpg)
機制乙:前提當方格A處在沒充能的狀態下,方格B發生了更新的動作,
則活塞會縮回或維持縮回,然後就不動了。
如圖,http://i.imgur.com/wsh6bnq.png
![](https://i.imgur.com/wsh6bnq.jpg)
![](https://i.imgur.com/ohCafAm.jpg)
![](https://i.imgur.com/1cYzMwL.jpg)
甲乙加註1:方格B更新所花費時間很短(約0.007秒),
就算方格A的充能不充能狀態改變
只要慢個0.1秒(0刻中繼器)也趕不上。
甲乙加註2:除了活塞以外其他機關沒有這種現象。另外大前提是
活塞黏著的方塊要能推得動,像熔爐、處在伸長狀態的活塞、
基石、黑曜石就推不動。
機制丙:如圖,紅石線更新時也會對目標那一格更新,(中繼器也會)
http://i.imgur.com/NBF6L9h.png
![](https://i.imgur.com/NBF6L9h.jpg)
機制丁:中繼器熄掉時,也會對來源的那一格更新,沒錯不要懷疑來源也會更新,
如圖,http://i.imgur.com/oew7mRv.png
![](https://i.imgur.com/oew7mRv.jpg)
為了驗證這個不合常理的機制,所以設計了這個特殊情況,
如圖,http://i.imgur.com/26MtHqa.png
![](https://i.imgur.com/26MtHqa.jpg)
![](https://i.imgur.com/kf5g9V4.jpg)
結論:綜合以上機制應該就能合理解釋各式各樣BUD的運作疑惑。
肆、實例一:http://i.imgur.com/6h5Sh6Y.jpg
![](https://i.imgur.com/6h5Sh6Y.jpg)
按發生時間順序排序:
1.前提當方格A充能時,
2.活塞周圍發生了更新,
3.滿足機制甲,所以活塞伸長,並推出羊毛,因為羊毛不見了,
4.所以延遲0.4秒後,
5.中繼器才熄掉,因為中繼器熄掉了,紅石線熄掉,所以方格A沒充能,
6.因為中繼器熄掉了,所以更新了方格B,(機制丁)
7.滿足機制乙,所以活塞縮回,並黏回羊毛,
8.因為羊毛在紅石火把上方所以被充能,因為羊毛充能,
9.所以延遲0.4秒後,
10.中繼器才充能,因為中繼器充能,所以紅石線充能,所以方格A變成充能
小結論:先熄滅方格A,然後才更新方格B,所以回到初始情況。
(註:幾乎同時)
************************************************************************
實例二:http://i.imgur.com/cjJbX63.jpg
![](https://i.imgur.com/cjJbX63.jpg)
按發生時間順序排序:
1.前提當方格A充能時,
2.活塞周圍發生了更新,
3.滿足機制甲,所以活塞伸長,並推出羊毛,因為羊毛不見了,
4.所以延遲0.1秒後,
5.中繼器C才熄掉,因為中繼器C熄掉了,所以更新了方格B,(機制丁)
6.更新方格B時,方格A仍然充能,滿足機制甲,所以活塞維持伸長,
7.因為中繼器C熄掉了,所以延遲0.1秒後,
8.中繼器D才熄掉,所以紅石線熄掉,所以方格A變成沒充能。
小結論:先更新方格B,然後才熄滅方格A,所以結果卡住。
(註:更新方格B花的時間遠比0.1秒短)(修改了筆誤)
*************************************************************************
實例三:http://i.imgur.com/NDVL9L0.jpg
![](https://i.imgur.com/NDVL9L0.jpg)
按發生時間順序排序:
1.前提當方格A充能時,
2.活塞周圍發生了更新,
3.滿足機制甲,所以活塞伸長,並推出羊毛,因為羊毛不見了,所以紅石線C熄掉,
4.因為紅石線C熄掉,所以更新方塊B,(機制丙)
5.更新方格B時,方格A仍然充能,滿足機制甲,所以活塞維持伸長,
6.由於紅石線C熄掉,所以延遲0.1秒後,
7.中繼器才熄掉,因為中繼器熄掉了,所以紅石線D熄掉,所以方格A變成沒充能。
小結論:先更新方格B,然後才熄滅方格A,所以結果卡住。
(註:更新方格B花的時間遠比0.1秒短)
***************************************************************************
實例四:http://i.imgur.com/153sHi4.png
![](https://i.imgur.com/153sHi4.jpg)
按發生時間順序排序:
1.當壓下壓力板時,使得方格A充能
2.因為方格A充能,所以紅石燈亮(活塞周圍發生了更新),
3.滿足機制甲,所以活塞伸長,並推出紅石燈,因為壓力板仍然壓下,故紅石燈
依然亮著
4.當放開壓力板時,使得方格A變成沒充能
5.因為方格A變成沒充能,所以紅石燈熄滅(=活塞周圍發生了更新),
因為方格A變成沒充能(=活塞周圍發生了更新),
6.滿足機制乙,所以活塞縮回,並黏回紅石燈
小結論:先熄滅方格A,然後才更新方格B,所以回到初始情況。
(註:壓力板底下的方塊同時是機制乙的方格A,也同時是方格B,並不衝突)
伍、上述解釋了原理,至於BUD的發生的原因,請見另外一篇文章「BUD的原因-假說」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.69.53
※ 編輯: volition 來自: 61.64.69.53 (01/28 22:10)
推
01/28 22:53, , 1F
01/28 22:53, 1F
→
01/28 23:01, , 2F
01/28 23:01, 2F
推
01/29 00:16, , 3F
01/29 00:16, 3F
→
01/29 01:08, , 4F
01/29 01:08, 4F
→
01/29 01:09, , 5F
01/29 01:09, 5F
![](https://i.imgur.com/Ssc3HcU.jpg)
→
01/29 01:11, , 6F
01/29 01:11, 6F
→
01/29 01:21, , 7F
01/29 01:21, 7F
→
01/29 01:22, , 8F
01/29 01:22, 8F
→
01/29 01:25, , 9F
01/29 01:25, 9F
→
01/29 01:25, , 10F
01/29 01:25, 10F
→
01/29 01:25, , 11F
01/29 01:25, 11F
→
01/29 01:27, , 12F
01/29 01:27, 12F
→
01/29 01:29, , 13F
01/29 01:29, 13F
→
01/29 01:31, , 14F
01/29 01:31, 14F
→
01/29 01:36, , 15F
01/29 01:36, 15F
→
01/29 01:40, , 16F
01/29 01:40, 16F
![](https://i.imgur.com/Yjw4MtR.jpg)
→
01/29 01:40, , 17F
01/29 01:40, 17F
![](https://i.imgur.com/736YUuQ.jpg)
推
01/29 01:41, , 18F
01/29 01:41, 18F
→
01/29 01:41, , 19F
01/29 01:41, 19F
→
01/29 01:46, , 20F
01/29 01:46, 20F
→
01/29 01:46, , 21F
01/29 01:46, 21F
→
01/29 01:47, , 22F
01/29 01:47, 22F
→
01/29 01:47, , 23F
01/29 01:47, 23F
→
01/29 01:48, , 24F
01/29 01:48, 24F
→
01/29 01:58, , 25F
01/29 01:58, 25F
→
01/29 02:00, , 26F
01/29 02:00, 26F
→
01/29 02:03, , 27F
01/29 02:03, 27F
→
01/29 02:03, , 28F
01/29 02:03, 28F
→
01/29 02:05, , 29F
01/29 02:05, 29F
→
01/29 02:07, , 30F
01/29 02:07, 30F
→
01/29 02:18, , 31F
01/29 02:18, 31F
→
01/29 02:21, , 32F
01/29 02:21, 32F
※ 編輯: volition 來自: 61.64.69.53 (01/29 10:51)
※ 編輯: volition 來自: 61.64.69.53 (01/29 10:57)
推
01/29 10:59, , 33F
01/29 10:59, 33F
※ 編輯: volition 來自: 61.64.69.53 (01/29 19:14)
→
01/30 10:54, , 34F
01/30 10:54, 34F
推
01/30 11:05, , 35F
01/30 11:05, 35F