Minecraft游戏机制学习 - 杂记

Tps&Mspt

TPS:每秒刻数(Tiscks per second)
MSPT:每刻毫秒数(Milliseconds per Tick)

in-game-demo

Minecraft中绝大多数运算逻辑在单个游戏循环内执行,一次游戏循环即一次游戏刻(Game Tick):
1s = 20gt
1gt = 0.05s

每秒执行了多少次游戏刻被称为每秒刻数(TPS),用于衡量游戏运行速率。游戏最大TPS为20(可通过/tick rate修改以加快游戏运行速率)
游戏刻计算的平均时间被称为每刻毫秒数(MSPT),用于衡量游戏计算负载。MSPT = 1000 / TPS

游戏最大TPS为20,根据公式换算可得对应MSPT为50ms。即每一游戏刻所花费时间都不超过50ms时,游戏可以以最大TPS(20)运行;但当每一游戏刻所花费时间都超过50ms时,游戏TPS会低于20,即掉刻

掉刻会导致出现实体运动变慢、不连贯,出现交互延迟(如打开箱子、攻击伤害判定),红石电路时序异常等类似定格动画的效果,严重情况下会破坏机器

村民交易

trading-chart-between-1.8-1.13 tradying-chart-1.21+

1.8前:

trading-chart-before-1.8

Image from MC-wiki

附魔

enchanted-book-list

Image from MC-wiki

炼药

brewing-chart.png

Image from MC-wiki

1.13村民村庄范围相关

村民门判定范围-y轴

以村民下半身所处方块为起始方块,向上数3格,向下数4格

y-axis-door-range

常见村民放置方法

common-village-placement

拉杆不动,活塞收回,村民在门判定范围内,形成村庄
拉下拉杆,活塞推出,村民在门判定范围外,村庄解体

村庄人口数量判定范围

若按上图形成村庄,则人口数量判定范围为:村民下半身所处方块的下方64×64×8的区域(不包含村民下半身所处方块)
因此只需保证其余村民在正下方8格以外即可

写者未测试(懒~)村民只有上半身在判定范围内是否会被纳入人口数量统计,故建议将村民整体(即上半身以及下半身)放置在判定区域外


以上,详见下图

village-and-population-range