MC時間踩坑
MC里有兩種時間很容易混淆,它們最主要的區(qū)別在于gamerule doDaylightCycle false之后是否還繼續(xù)計算。
在開發(fā)環(huán)境中,一會兒白天一會兒黑夜非常不便,我們一般會使用gamerule doDaylightCycle false關(guān)掉晝夜交替。這樣,我們不會視野突然就變暗,也不會突然發(fā)現(xiàn)所有的怪都燒起來了。

然而,開發(fā)者經(jīng)常開發(fā)“每秒鐘觸發(fā)一次”之類的功能,有的時候會發(fā)現(xiàn)在禁用了晝夜交替這條規(guī)則之后,此類效果要么是完全不觸發(fā)了,要么是變成每個tick都觸發(fā)了。這就是因為弄混了兩種時間導(dǎo)致的。

daytime對應(yīng)代碼world.getWorldTime()。如果你想檢測當前處于白天還是晚上,各種和太陽相關(guān)的,那么你應(yīng)該使用這個。
gametime對應(yīng)代碼world.getTotalWorldTime()。如果你想實現(xiàn)每Xtick觸發(fā)一次的功能,那么你應(yīng)該使用這個。