如果在《我的世界》地图种子里输入“π”,那么这个世界会诞生一个“圆”么?

“π”种子的圆形论

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(1)

就好比“666”邪恶种子的都市传说一样,在Minecraft社区流传着一个圆周率“π”的种子。因为圆周率代表无限不循环小数,而在《我的世界》对于种子的代码转换和处理,会让程序持续处理这个无线的小数,从而造成对真个地图生成的破坏,诞生一个圆形地图。

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(2)

那么这个说法究竟是真实存在的,还是Mojang刻意留下的BUG,又或者是这就是一个空穴来风的谣言呢?

Minecraft的种子会存在BUG,而影响地形生成么?

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(3)

科学地说,这种解释是合理的。一个正常的Minecraft当然是以四四方方的结构出现。但《我的世界》在地形生成时,会从种子中提取数值,调用一个算法来实现对地形、结构、树木、生物的分层次构建。而当这个种子提取数值出现了某种BUG的时候,地形也就出现了问题。

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(4)

例如在Minecraft已知的42亿颗种子里,目前被人类发现有2个种子会导致MC地形的异常生成。它们就是“107038380838084”和“164311266871034”。它们对地形最直接的影响就是在X轴和Y轴上诞生诸多无限循环的地形结构。

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(5)

Mojang将其认为是一个合理化的SEED特性,因为仅仅是靠运气发现这两颗种子,那你需要拥有42亿分之一的运气。所以从这点来说,也算是间接证明了种子是可以影响到MC的地形生成。

用圆周率“π”作种子会发生什么?

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(6)

按照目前世界上最新的数据,圆周率“π”现已算到了小数点后31.4万亿位的恐怖长度了,有人说当有一天解开了圆周率,也就找到了宇宙的奥秘。不过这么长的数字输入到“我的世界”种子里,单纯的数据处理和计算估计都会让mc彻底卡死。

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(7)

我们用JAVA版1.14.4为例,在种子中输入“π”后,出生在一个非常平凡的海边。用/seed指令调出当前π转换的数字,发现并没有出现我们想象的“3.141592654~”的恐怖数字而是“960”。所以显然Minecraft自身代码对种子的解析处理并不会对π做计算。

所以我们直接取“π”的常数,再做一次实验

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(8)

已知JAVA版种子的最大数值长度为34位数,所以我们取π的34个字符,也就是“3.141592653589793238462643383279”

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(9)

出生点是在一棵平原中的橡树下,来看这棵树就是整个地图的中心原点了。当我们不断地试图向空中飞去的时候,俯瞰地面,你会惊讶地发现,区块会随着你不断上升而持续加载。

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(10)

刚开始尚且呈现的还是一个“方形”地图,因为Minecraft是以16*16的方形区块为单位进行加载和渲染的。不过我们继续上升。

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(11)

在夜空中上升,一个明显的地球一般的球体看开始出现。不过云层阻碍了我们的视线,设置里将云层调整为“无”。

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(12)

如果你的CPU足够强大,随着高度的不断上升,Minecraft地图最终形成一个近乎“圆”的球体。这是为什么呢?真实是圆周率再作祟么?

我的世界地图种子该如何改变(当地图种子输入π3.1415926)(13)

回答当然是否定的!这只是地形加载的比较慢罢了。虽说MC是以一个区块为单位进行加载,但其实无论是区块还是方块,都是以某个方块为圆心向四周扩散式加载。

所以,无论是圆周率π,还是一个3.14的常数,在《我的世界》种子中的返回值都没有触碰“0”或者是某种无限加载的BUG,MC的种子也并没有对π进行运算。所谓诞生的“圆形地图”,也不过是无稽之谈罢了。

,