如果你平时爱给《我的世界》打点模组,或者折腾过任何能打mod的PC游戏,那你多半明白一个道理:把不同作者的东西混在一起塞进一个存档里,结果未必总是顺着你的心意来。

文件之间闹点别扭、出点稀奇古怪的毛病,再正常不过。但最近有个老哥的遭遇,离谱程度属实刷新了咱的认知——他只是在游戏里摘了几个苹果。对,就是苹果。

打开网易新闻 查看精彩图片

事情本身不复杂。Mojang的原版游戏里是不自带苹果树的,但这难不倒模组玩家。Reddit上一位叫“Saledka”的用户,大概是装了Pam's Harvestcraft 2的作物树模块,让世界里长出了能直接摘苹果的树。摘个果子而已,能有什么危险呢?

结果他还真就出事了。在发到feedthebeast子版块的一段视频里,Saledka走到树下,老老实实伸手摘了几个苹果。下一秒钟,画面瞬间炸裂——一连串巨大的爆炸声毫无预兆地轰开,动静大到根本不像一颗水果掉地上,说是战斗机低空掠过都有人信。从视频里能看到浓烟滚滚,还伴随着一阵尖锐到让人耳鸣的啸叫声。这位老哥显然也被炸懵了,赶紧跑到论坛发帖求救。

帖子发出来才19个小时,到我码字这会儿,已经干到了2900多个赞,评论区盖了125层楼。万幸的是,高赞回复还真帮他把病因给摸出来了。

你猜问题出在哪个模组上?答案叫做SoundBarrier,一个音障模组。

这模组的设计思路不复杂,就是给游戏里高速飞行的情况加上破风声和音爆特效。当某个东西的移动速度超过每秒70格时,它就会触发对应的音效和扬尘视效。模组作者大概率是把所有实体在高速运动下的表现都套上了这套逻辑——谁也没想到这规则会连着树上刚掉下来的苹果一块儿管。

大概率真的没人往那方面想。装个作物模组,再装个音爆模组,怎么看都是八竿子打不着的两条平行线。结果就是这么两条线,在苹果从树上掉下去的那零点几秒里狠狠撞了一下。果子一生成、一掉落,速度触发了音障判定,然后那声战斗机的轰鸣和一屁股浓烟,就全糊在了这颗无辜的苹果身上。

有一说一,这bug在技术层面上不算什么深奥难题,无非就是模组之间判定的作用范围写大了。栽在“摘苹果触发音爆”这种剧本上,更多是荒诞到让人想笑。底下评论区不用看都知道,肯定有一排人在那边刷“牛顿的棺材板我帮你按住了”。

好在这事儿总算是破案了。罪魁祸首找到之后,Saledka估计也踏实了。以后你在自己包里碰到类似的情况,比如好端端一棵树突然在那里冒烟叹气,或者啃个面包啃出超音速特效,可以先不急着怀疑存档要坏,打开模组列表翻一翻,没准就是两个看起来完全不搭边的功能,在后台偷偷给你整了个狠活。

这种阴差阳错的化学反应,有时候还真说不清是bug还是彩蛋。至少在这个帖子里,几千号看热闹不嫌事大的围观群众,是被一颗苹果结结实实逗乐了。