0%

让我们从生电巅峰 1.12 开始往后,为那些在历史长河中消逝的技术科技默哀

阅读全文 »

2 方块更新

感谢 迟昫123qwrrdshfsghv 的捉虫

2.1 方块更新性质

2.1.1 方块更新的种类

1.13 之后,方块更新分为了两种类型,分别是 NeighborChangedPostPlacement,简称 NC 与 PP 更新。若要与 1.13 之前相比,可将 1.13 之前的所有方块更新都视为 NC 更新。下文将用方块更新一词指代 NC 更新,用状态更新一词指代 PP 更新

这两种方块更新的类型在官方的反混淆表(来自 1.14.4)中的名称分别为 neighborChanged 与 updateShape,其命名也能有助于理解上述对两类方块更新具体含义

阅读全文 »

1 游戏流程

1.1 代码层面上的 GameTime 内游戏运算顺序

下图这张树状剖析图,代表了代码层面上,Minecraft 每执行一次 tick() 时的游戏执行顺序:

阅读全文 »

0 绪论

0.1 owo

嘛,填这个巨坑的目的,是想对啃了一段时间的源码做一些总结,并给出一些对现象的解释,如果可能的话还会给出一些易于分析的模型

前人的理论虽已挺完善,已经有了不少的分析文章,但他们或多或少的都存在一些无法解释的现象,或者说以为版本迭代而过时

强推 gp(Gamepiaynmo)的文章《[理论分析]红石更新延迟理论》,虽然这个是 1.8 的,但绝大部分内容在 1.13.2 仍适用

我的目标是,造出不需要打补丁的大统一理论在不打补丁的情况下解释出所有平常只会用一句“特性” / “毒性”带过的表现,以及所有“黑科技”的原理。因此可ken能ding会很咕

阅读全文 »

游戏版本:Minecraft Java Edition 1.13.2
源码来源:mcp
不保证下列调用目的的表述正确性,仅均为个人猜想


isNormalCube

实体方块,实心方块,整砖,普通方块,具体指什么?

在我看来,绝大部分时间里,当我们提及“实体方块”一词的时候,指的都是能压线压箱发矿车的那一类实心完整方块。在源码中,这些,都是通过一个叫做isNormalCube()的函数进行判定的

阅读全文 »