Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Information icon
此特性為Java版獨有。

本教學旨在教玩家如何生成啟動活塞時間小於1遊戲刻的紅石訊號,並介紹如何使用它,特別是它在活塞上的使用。

鑑於較多紅石玩家習慣使用「0t活塞」,「0t訊號」描述零刻活塞與零刻紅石訊號,本教學中也將沿用此詞。0t訊號是指持續時間小於1遊戲刻的紅石訊號,即紅石粉在同一遊戲刻內先被啟動,後停止啟動;0t活塞是指由0t訊號啟動的活塞,這類活塞會表現出與一般情況下活塞不太相同的特性。

介紹

當你使用脈衝發生裝置生成紅石訊號時,它會生成短脈衝。而當脈衝過短時,就會出現一些不同於正常情況的有趣現象。如果一個啟動黏性活塞的紅石訊號在2遊戲刻內開始並結束,即被持續時間是「0遊戲刻」或「1遊戲刻」的短脈衝所驅動,使黏性活塞在推出後立即回收,活塞前的第一個方塊會瞬間推出併到位,而且這個方塊不會使實體位置發生移動。奇怪的是,雖然普通活塞也會立即回收,它面前的方塊不會瞬間到位。

如何製作一個零刻活塞

本教學將介紹幾種不同的常見零刻脈衝發生器,使用這些零刻脈衝啟動活塞即可得到零刻活塞。

若0t(及部分1t)訊號持續的方塊事件較少,0t訊號能產生,但由於結束0t訊號的活塞可能先啟動,接收0t訊號的活塞是否伸出可能與方向和座標有關(包括半連接啟動的訊號源過快更新活塞),方塊事件過少的(包括中繼器和比較器、2個1檔中繼器和1個2檔中繼器交換)不論方向和座標一律得不到零刻活塞。下面的發生器都沒有上述情況。

利用紅石元件優先級不同的方法

Tutorial 0TickPiston Tiletick1

利用中繼器優先處理特性的0t訊號生成器

雖然中繼器和比較器在宏觀上具有相同的延遲(1紅石刻或者2遊戲刻),但在微觀的運算順序中,中繼器總是比比較器優先處理,即使它們看起來是「同時」啟動的。利用這個特性,你可以製作一個產生持續時間為0刻的脈衝。

使用紅石元件的運算順序差異

Tutorial 0TickPiston Tiletick2

利用中繼器處理順序不同的0t訊號生成器

在宏觀上,一個2檔中繼器和兩個1檔中繼器的延遲是相同的,但在微觀運算的順序中,先加入到處理隊列中的元件會被先處理。在圖中的0t訊號發生器中,啟動活塞所使用的一檔中繼器晚於充能石英方塊的二檔中繼器被加入到處理隊列,這使石英方塊在被推動前短暫的充能,由此得到一個0t訊號。

使用啟動順序差異

Tutorial 0TickPiston PistonDelay1

利用啟動順序不同的0t訊號生成器

這類生成器中,經常同時使用直接充能啟動紅石粉,同時使用半連接啟動移除訊號源。半連接雖然需要額外方塊更新才可以使被啟動的元件工作,在微觀時序的處理上不一定慢於直接啟動。圖中是一個簡易的無紅石粉0t活塞元件,接收0t訊號的活塞由於負責更新半連接啟動的活塞,必定能伸出。

使用方塊事件延遲製造長度可控的0t訊號

Tutorial 0TickPiston PistonDelay2

2方塊事件延遲的0t訊號生成器

在0t訊號的層面上,脈衝的持續時長一般使用「方塊事件」作為單位對其進行描述。接下來我們將以右圖的0t訊號發生器作為例子,分析其微觀層面上的啟動順序,以計算生成的0t訊號長度。
①當拉桿啟動時右側的第一個紅石粉首先運算,使推石英方塊的粘性活塞首先推出,在活塞推出瞬間,石英方塊被替換為移動中的方塊,此時不再能切斷紅石線->②第一個紅石粉更新完畢後,更新向右側傳遞,第二個紅石粉被啟動並充能其附着方塊,此時紅石粉附着的石英方塊透過半連接啟動了推紅石磚的粘性活塞,但這個粘性活塞這時沒有被更新到,會保持靜止。->③紅石粉更新到最右側時,紅石粉首先充能附着方塊,附着方塊直接啟動上方普通活塞,同時半連接啟動下方普通活塞,這時上方活塞伸出->④上方活塞伸出時對周圍方塊發出了更新,下方活塞受到更新伸出->⑤下方活塞伸出時對周圍方塊發出了更新,推紅石磚的粘性活塞受到更新伸出,紅石磚被替換為移動中的方塊->⑥訊號中止。
故在這個0t訊號發生器中,自0t訊號被啟動後,經過2個方塊事件後被切斷(活塞伸出更新活塞->活塞被更新伸出更新粘性活塞),所以由此得出這個0t訊號的長度為3方塊事件。在遊戲中,我們可以使用類似的方式來控制方塊事件,可控的生成不同長度的0t訊號。

簡陋型0t活塞

Tutorial 0TickPiston Poolman0Tick

簡陋型「窮人」0t活塞

在按鈕按下時,活塞被啟動->活塞被啟動時,底座為不完整方塊,按鈕跌落。

0t訊號的使用

訊號傳輸

0t訊號在傳輸上十分困難,比較器不會響應單次0t訊號,而中繼器會將0t訊號延長至最少2遊戲刻。所以對於0t訊號的使用推薦「即生成即使用」,如果有特殊情況需要遠距離傳輸0t訊號,需要使用特殊的「兼0t訊號的中繼器」。
這個影片是一款由 TheGunMasterDigital 所設計的無延遲脈衝中繼器,而且能夠相容並中繼0t訊號。

瞬間移動方塊

假設你需要將方塊連續推動2次,不利用瞬間到位的情況下最快也需要5遊戲刻的時間完成。但如果你使用了0t活塞,由於方塊是瞬間到位的,你可以在1遊戲刻內連續改變多次方塊的位置。有趣的是,這種瞬間到位的方塊移動生成的「移動中的方塊」因為只存在一瞬間,當用於替換烽火台的彩色玻璃時,會使烽火台光柱不短暫地變白,而是從一種顏色直接變為另一種顏色。

實現作物強制催熟

在JAVA版的1.13~1.15.2版本中,使用0t活塞可以方便地對作物進行「強制催熟」。強制催熟是Mojang對於作物生長的一個遊戲錯誤,內容為當作物受到破壞事件時,作物的表現與被隨機刻選中時相同,即生長一次。使用0t活塞的瞬間移動方塊特性可以替換作物附着的方塊,從而使作物記錄破壞事件而不破壞作物本身,達到強制生長的效果,即「強制催熟」。
在1.13版本中,只有歌萊果與仙人掌能夠被強制催熟。
在1.14~1.15版本中,蔗、竹也可以被強制催熟。
在1.16版本中,此遊戲錯誤被修復。
在這個影片裡,ilmango用這個BUG建造了他的強制催熟歌萊植株農場。

移動方塊而不移動生物

通常情況下,當你用一個粘有方塊的黏性活塞推向生物時,生物會被活塞黏着的方塊推到一側,產生1格位移。而如果你使用0t活塞移動方塊,生物不會產生由推方塊導致的位移。

Advertisement