# 時間
游戲里有兩種可量度的時間: 現實時間及游戲刻。
## 現實時間
現實時間就不用多說了,就是時分秒,相信大家都十分熟悉了。
然而在游戲里使用時分秒的東西真的不多,主要是因為游戲內的時間未必與現實世界同步,因為游戲內的時間單位為游戲刻。
> **知多一點點**:獲取現實過去的時間
>
> `worldborder`里的時間參數是真·時間參數,以現實時間計算的。
> 因此我們可以透過設置長時間、大長度改變,然后以`stats`及`worldborder get`獲取邊界的直徑,以計算過去了的時間。
## 游戲刻
游戲刻(game tick, 簡寫: gt)是游戲的基礎時間單位。游戲會在1刻里做很多事情,如執行命令、進行一部分紅石元件的更新、騎乘實體的位置改變等。故部分操作需要等待下一游戲刻才可見效,正是因為游戲把那些操作放進了一個列表,我們通常稱作NTE(Next Tick Entry),等待游戲刻開始/結束時的某個時段執行。
一般情況下是每秒20個游戲刻(最多20,可以更少),所以一般來說1游戲刻就是0.05秒(最短0.05秒)。
然而,如果電腦無法保持這個速度,每游戲刻的時間就可能延長。由于很多東西都是使用游戲刻來計算時間,所以如果游戲刻減慢,很多東西需要的時間會延長,而這也是大型命令系統中常見的卡頓。
假如1個游戲刻達到了1分鐘的長度(當服務器配置不足以運行那么多命令/那命令需要的計算太多的時候可能出現), 服務器一般會崩潰。因此請注意別玩得太過。
## 順序
命令執行即使是同一游戲刻,也不可能是真正的同時的,故此執行的先后次序十分重要。
舉個例子:
+ A: 先說出自己的分數,然后讓自己的分數+1
+ B: 先讓自己的分數+1,然后說出自己的分數
這兩個情況的輸出一樣么?明顯不同!
假設一開始的分數為x,A的輸出為x,B的輸出為x+1。
故此,確定命令執行前后是十分重要的。
不肯定執行順序的時候可以用`say`命令輸出不同數字,通過那些數字推斷執行順序。