几乎所有的游戏(包括Minecraft)都是由一个大循环程序运行的。相称地,循环程序的一个周期被称之为一“刻(tick)”。
游戏刻
Minecraft的循环程序是以每秒20周期的固定速度运行的。因此每刻发生在每0.05秒。在游戏中的一天将正好为24000刻,或20分钟。
但是这个速率也不是完全固定的。如果电脑的性能不足以跟上这个速度,一个游戏刻的运行时间就被延长,单位时间内的游戏刻就会变少。由于游戏中的绝大多数动作都是以游戏刻而不是真实世界的时钟作为时间基准,这意味着在较慢的电脑上很多事情都要花更长的时间来完成。
每过去一刻,游戏的各方面都会更新:移动的实体位置会发生变化,生物会检查周围环境并更新自身的行为,玩家的生命值和饥饿值会根据玩家的处境发生变化,等等。
游戏刻不影响图像渲染。游戏的图像是在游戏内部更新后渲染的。因此,游戏的帧率(FPS)不影响TPS(每秒游戏刻数)。从而电脑的图形性能不会影响到游戏机制。
具体时间
将Minecraft时间与现实时间相比得到的结果。
1秒=72游戏刻(下简称刻)
每1000刻=现实中的一小时
0刻=早上6时
1000刻=早上7时
6000刻=中午12时
13000刻=晚上19时
18000刻=凌晨0时
世界在具体时间中的行为
0刻(早上06:00)太阳完全从地平线上升起
4283刻(早上10:17)亮度达到最高(15)
7700刻(下午13:42)亮度开始下降
11616刻(下午17:37)开始日落
?刻(下午18:34)太阳完全落下
13000刻(晚上19:00)开始刷怪
22550刻(清晨04:33)开始日出
你在具体时间中的行为
请帮助我们扩充内容
0刻(早上06:00)起床
12516刻(下午18:31)睡觉(最早)
区块刻
作为游戏刻的一部分,每个游戏刻都会对特定的区块执行区块刻。
在Java版中,在每个游戏刻中,加载等级在31级或以下、区块中心与最近的玩家的水平距离小于128的区块会执行区块刻。
在基岩版中,在每个游戏刻中,所有已加载区块都会执行区块刻。
区块刻有许多影响:
随机刻
每个区块被划分为16个区段,每个区段包含16×16×16=4096个方块。在每个游戏刻,执行区块刻的区块中,每个区段会被随机选出3个方块(可以重复)给予一个“随机刻”。可以通过使用命令/gamerule randomTickSpeed <数量>来改变每个区段给予随机刻的方块数。大部分方块不会有影响,除了如下这些:
- 小麦可能生长或拔除。
- 蘑菇可能传播或拔除。
- 藤蔓可能传播。
- 火可能熄灭或传播。
- 冰和雪可能融化。
- 树叶可能枯萎。
- 耕地的湿润程度会更新。
- 仙人掌、甘蔗、海带、竹子和紫颂花可能生长。
- 草方块和菌丝可能传播或变成泥土。
- 树苗可能长成树。
- 熔岩可能使附近的方块着火。
- 发光的红石矿会熄灭。
- 下界传送门方块可能生成一个僵尸猪人。
- 海龟蛋破裂或孵化。
- 营火冒出烟雾颗粒。
因为随机刻是被随机赋予的,因此无法预测某个方块何时会接收到随机刻。随机刻的间隔的中位数为47.35秒,即有50%概率不超过47.35秒,也有50%概率超过47.35秒,也有可能需要更短或更长的时间:例如,有1.5%的概率间隔时间小于1秒,也有1%的概率超过5分钟。随机刻的间隔的平均值为68.27秒。对上述数据的计算原理,参见维基百科几何分布。
计划刻
一些方块可能会请求在将来的某一个游戏刻更新方块,这种更新方块的方式被称为计划刻。在一段时间后必定发生并且行为可以预测的变化,往往使用这种“计划刻”——比如,红石中继器会计划2游戏刻之后来改变它的状态,水会计划1游戏刻之后来流动。同一个方块上,计划刻与随机刻可能会起到不同的影响。
作为游戏刻的一部分,之前请求的计划刻如果已到达指定时间,如果区块的加载等级小于33(不包括33)
每个游戏刻所能计划的最大方块数是65536个。
红石刻
一个红石刻代表着两个游戏刻。这将在一个红石电路中的信号创造一个0.1(1⁄10)秒的延迟。也就是说信号从地点A到地点B是增加了0.1(1⁄10)秒的延迟。一刻只能属于信号时间的增加,因此,一个信号的传送时间在刻的角度讲是永远不会是减少的。在红石的语境中,“刻”总是指红石刻。
| 版本 | |||||||
|---|---|---|---|---|---|---|---|
| 开发周期 |
| ||||||
| 技术 |
| ||||||
| 多人游戏 | |||||||
| 游戏订制 | |||||||