首页> 新闻> 正文

我的世界:4年前,mc史上最严重的bug泄露,13万个种子遭到破坏!

2020-03-24      作者:[db:作者]



除了投票之外,你可能不知道的一件事是,《我的世界》的洞穴已经破败不堪,四年前爆发了一场严重的BUG,对我的世界中拥有13万颗种子的洞穴造成了严重的破坏!


01

这是从一个著名的BUG开始的:MC-111378;;



|在1992年4月016日,一个叫埃里克·马丁的玩家提交了一份小BUG报告,报告的号码叫MC-111378,也就是发现的111378 BUG。当然,这对于我的世界来说并不是什么大不了的事情,因为对于mc来说BUG是非常稀少和常见的!

但是出乎意料的是!在接下来的几天里,BUG很快吸引了全世界玩家的广泛关注,包括Mojang!因为人们惊讶地发现在《我的世界》下面有无数无尽的地形结构!这个无限循环包括洞穴、地牢、废弃的矿井和其他建筑。只要它在圆的轴上,任何结构都会被无限复制!关于

最奇怪的事情是,它在《我的世界》的表面上是完全正常的,但是地下却完全坍塌了!

02

洞穴BUG是如何形成的?



这始于“我的世界”地形的诞生。在世界产生之初,《我的世界》将有一个String.hashCode()函数,用来控制种子的产生也就是说,当我们使用随机种子创造世界时,这个函数将执行并随机选择42.9亿种子中的一个来创造世界。在确定了

种子之后,《我的世界》开始使用第二个函数MapGenBase.java()来生成诸如洞穴、遗迹等结构。关键问题出现在第二步。

由于一些种子在函数计算中返回值0(通常应该是1),这导致每个块在数学计算中乘以0,因此在X轴上的所有块输出0的结果,从而导致非凡景象的无限重复!

03

由“无限循环”SEED:107038380838084



很快,由地形生成的seed: 107038380380884很快成为“我的世界”中最受欢迎的种子之一。无数玩家停下来观看这一罕见的奇迹!有无限重复的地雷,无限重复的地雷,无限重复的地牢返回值为“0”的任何结构都不能不受此坐标的影响!


(附言:一年前我介绍这两个种子的时候,我也是这么想的,还是太年轻了!)

04

数学上帝计算出超过13万颗种子受到影响!



但是很快,JAVA的一位伟大的数学之神,经过仔细的数据计算,得出了一个惊人的结论:“我的世界”不仅仅是这两个种子能引起“无限重复”!

换句话说,《我的世界》目前的地下结构包括一个有13万只虫子的“洞穴”生成方案

,如此多的“我的世界”玩家可能在不知情的情况下遇到了这样的BUG。然而,由于生存的关系,他们无法像观察模式那样观察这个“无限重复”的地下世界。也许现在你打开《我的世界》,看看出生地,潜入地下。也许你当前的世界是一颗BUG种子!


。因此,基于这个极其“严重”的BUG,Mojang已经4年没有修理MC-111378了。你认为在1.17更新我的世界洞穴的可能性有多大?

(附言:本文讨论了JAVA函数的观点。因为我不是一个专业的JAVA程序员,在咨询了我学习JAVA的朋友后,我稀里糊涂地听到了这句话,所以我会尽我所能以一种大家都能理解的方式来解释它。)