本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详细信息…

来自Minecraft Wiki
跳转至: 导航搜索

几乎所有的游戏(包括Minecraft)都是由一个大循环程序运行的。就像钟内的每个齿轮是和钟摆同步一样,推动游戏模拟进程的每个任务也是和循环程序同步的。相称的,循环程序的一个周期被称之为一“刻(tick)”

游戏刻[编辑 | 编辑源代码]

Minecraft的循环程序是以每秒20周期的固定速度运行的。因此每刻发生在每0.05秒。在游戏中的一天将正好为24000刻,或20分钟。

但是这个速率也不是完全固定的。如果电脑的性能不足以跟上这个速度,单位时间内的游戏刻就会变少。由于游戏中的绝大多数动作都是以游戏刻而不是真实世界的时钟作为时间基准,这意味着在较慢的电脑上很多事情都要花更长的时间来完成。

在每刻过去时,游戏中的每个部分都会更新一点:移动的物体改变位置,生物检查它们的周围并更新它们的举止,生命值和饥饿值将根据玩家的情况而改变,还有更多更多。

一件游戏刻不影响的事情是图像绘制。游戏的图像绘制是在一个独立的异步循环中进行的,这也是为什么每个玩家的FPS可能会不同(如果没有开启VSYNC),但TPS(每秒刻数)没有差异。这样做能防止电脑的图形性能影响到游戏模拟,反之亦然。

清晨: 0 (/time set 0)
正午: 6000 (/time set 6000)
傍晚: 12000 (/time set 12000)
午夜: 18000 (/time set 18000)

请注意,在多人游戏服务器刚启动时可能比较“慢”,这是因为Java虚拟机需要在运行时花较长的时间来进行默认的Java代码优化。

区块刻[编辑 | 编辑源代码]

在每一个游戏刻中,所有处在渲染距离内的区块都被纳入游戏刻计算范围。在1.9中,只有处在渲染距离内并且距离玩家128个方块内的区块被纳入计算。

区块刻有许多作用:

  • 雷暴天气下,闪电可能在区块内某处生成(1100000的几率)。
  • 每一纵向上的最顶端方块有116的几率检查天气更新:
    • 在寒冷的生物群系中,如果条件合适,会结成冰。
    • 如果在下雪,并且条件合适,一片可能被放置。
    • 如果在下雨,炼药锅可能被填满。
  • 区块内某一个方块会接受到随机刻更新。

方块刻[编辑 | 编辑源代码]

每个区块被划分为16个区段,每个区段包含 16×16×16 个方块。在每个游戏刻,纳入游戏刻计算的区块的每个区段会被随机选出3个方块给予一个“随机刻”。你可以通过使用命令/gamerule randomTickSpeed <random tick per section>来改变给予随机刻的方块数。

大部分方块不会有影响,除了如下这些:

一些其他的方块可能会在将来的某些时候要求一个方块刻。在一段时间后必定发生并且行为可以预测的变化,往往使用这种“计划刻”——比如,红石中继器会计划一刻来改变它的状态,水会计划一刻来流动。同一个方块上,计划刻与随机刻可能会起到不同的影响。

这两种刻是分开运作的,计划刻调用的是与随机刻不同的代码。

因为随机刻是被随机赋予的,因此无法预测何时某个方块会在下一刻被给予。随机刻的间隔的中值为47秒,即有50%概率不超过47秒,也有50%概率超过47秒,也有可能需要更短或更长的时间:例如,有1%的概率超过5分钟。随机刻的间隔的平均值为68.27秒。对上述数据的计算原理,参见维基百科二项分布泊松分布

红石刻[编辑 | 编辑源代码]

一个红石刻代表着两个游戏刻。这将在一个红石电路中的信号创造一个0.1(110)秒的延迟。也就是说信号从地点A到地点B是增加了0.1(110)秒的。一刻只能属于信号时间的增加,因此,一个信号的传送时间在刻的角度讲是永远不会是减少的。

制造多个或是单个刻的方法[编辑 | 编辑源代码]

创造一个刻的传统方法
这个图表解释了方法一
  1. 红石火把在对收到的信号进行反转时会产生1刻延迟。
  2. 红石中继器在默认情况下当它上面的两个红石火把最相近的时候它将会产生1刻延迟。对中继器右击将以量级1,或0.1(110)秒增加。一个中继器能够被调整到4刻,同时也就是它的最高等级和两个红石火把是离得最远的。
    从左到右分别是,1刻,2刻,3刻,4刻。
  3. 活塞臂的推出或收回需要2刻。
  4. 漏斗传输或抽取一个物品需要4刻(若是吸取掉落物则没有延迟)。
  5. 红石比较器对收到的信号做出反应需要1刻。
  6. 木质按钮的信号持续15刻(不包括被箭射中的情况),石质按钮持续10刻。