我的世界刻(tick)


Minecraft的迴圈程式是以每秒20週期的固定速度執行的,即TPS: 20.0。因此每刻發生在每0.05秒。在遊戲中的一天將正好為24000刻,或20分鐘。但是這個速率也不是完全固定的。如果電腦的效能不足以跟上這個速度,一個遊戲刻的執行時間就被延長,每秒的遊戲刻就會變少。由於遊戲中的絕大多數動作都是以遊戲刻而不是真實世界的時鐘作為時間基準,這意味著在較慢的電腦上很多事情都要花更長的時間來完成。

每過去一刻,遊戲的各方面都會更新:移動的實體位置會發生變化,生物會檢查周圍環境並更新自身的行為,玩家的生命值和飢餓值會根據玩家的處境發生變化,等等。這些遊戲的方面是服務端的行為,和負責渲染遊戲本身的客戶端的更新速度沒有關係。也就是說,遊戲的幀率(FPS)不影響TPS,電腦的圖形效能不會影響到遊戲機制。

和每秒刻數(TPS)相關的一個單位是每刻毫秒數(MSPT),即伺服器實際上用來計算一刻所需的時間。只有在MSPT不超過50時,TPS才可以達到20。以下的遊戲機制比較消耗資源,容易導致服務端卡頓:

作為遊戲刻的一部分,每個遊戲刻都會對特定的區塊執行區塊刻。

在Java版中,在每個遊戲刻中,載入等級在31級或以下、區塊中心與最近的玩家的水平距離小於128的區塊會執行區塊刻。

在基岩版中,在每個遊戲刻中,所有已載入區塊都會執行區塊刻。

延伸閱讀  0930 Kolgrim

區塊刻有許多影響:

每個區塊被劃分為16個區段,每個區段包含16×16×16=4096個方塊。在每個遊戲刻,執行區塊刻的區塊中,每個區段預設會被隨機選出3個方塊(可以重複)[僅Java版]或1個方塊[僅基岩版]給予一個“隨機刻”。可以通過使用命令 /gamerule randomTickSpeed  來改變每個區段給予隨機刻的方塊數。大部分方塊不會有影響,除了如下這些:

因為隨機刻是被隨機賦予的,因此無法預測某個方塊何時會接收到隨機刻。隨機刻的間隔的中位數為47.35秒,即有50%概率不超過47.35秒,也有50%概率超過47.35秒,也有可能需要更短或更長的時間:例如,有1.5%的概率間隔時間小於1秒,也有1%的概率超過5分鐘。隨機刻的間隔的平均值為68.27秒。對上述資料的計算原理。

一些方塊可能會請求在將來的某一個遊戲刻更新方塊,這種更新方塊的方式被稱為計劃刻。在一段時間後必定發生並且行為可以預測的變化,往往使用這種“計劃刻”——比如,紅石中繼器會計劃2遊戲刻之後來改變它的狀態,水會計劃1遊戲刻之後來流動。同一個方塊上,計劃刻與隨機刻可能會起到不同的影響。

作為遊戲刻的一部分,之前請求的計劃刻如果已到達指定時間,如果區塊的載入等級小於33(不包括33)[僅Java版]或區塊已載入[僅基岩版],計劃刻就會被執行。否則推遲執行,直到區塊被載入。

延伸閱讀  FPX遭DK雙殺官博破防!Doinb舉動心酸,xinyi質疑牛寶

每個遊戲刻所能計劃的最大方塊數是65536個。

一個紅石刻代表著兩個遊戲刻。這將在一個紅石電路中的訊號創造一個0.1(1⁄10)秒的延遲。也就是說訊號從地點A到地點B是增加了0.1(1⁄10)秒的延遲。一刻只能屬於訊號時間的增加,因此,一個訊號的傳送時間在刻的角度講是永遠不會是減少的。在紅石的語境中,“刻”總是指紅石刻。

紅石在後面會重點講解,紅石刻大家一定要好好學習

Scroll to Top