lovexyn0827
前几天在研究矿车运动时发现了这样一个Bug:矿车的Motion(用于决定速度)在矿车堆叠时会发生指数爆炸似的增长,最终会很快达到无穷大。经过研究,发现这一Bug似乎是由矿车间的相互推动造成的,因为在矿车运算过程中会将Motion限制在+-0.04之间,此后到Motion被获取应该就只有推动会影响Motion了。
这样,MC-14(堆叠的矿车在脱轨后继续匀速行进)这一远古Bug似乎就有了一个比较合理的解释:在矿车Motion为无穷大时,除非它撞到墙上,它的Motion不会被任何阻力和出无穷大以外的任何反向加速减少,而它对速度又有一个限制,无论Motion再大单轴速度都超不过8m/s,所以他的速度就不再变化,从而出现那种匀速直线运动。
为什么说这个Bug危险呢?研究过浮点数的都知道,无穷大并不是一个合法的数字,它在进行一些运算后(尽管目前还没有发现可以实现这些运算的方案)可能变成NaN(Not a Number,不是数字),最终会被写入到存档中。但是,在存档被再次加载时,如果遇到了值为NaN的Motion服务器(包括专门服务端和客户端内置的服务端)会拒绝读取它并立即崩溃,造成存档损坏,不过参考崩溃报告很好修复。即使没有产生NaN,这样的非法值也可能因为某些运算造成卡死服务器、崩溃等难以预料的后果。
刚才已经报告给Bugjump了,MC-233322(知道这样再晚11个提交多好)。

翊.
这就离谱

5uuwinn
确实不错,支持,下次有空去试试。

WisW
本帖最后由 Winner32 于 2021-7-29 18:31 编辑

wow,是源代码翻出来的?
1.14的矿车代码不知道跑哪去了


振翮高飞
所以是新的旧崩服方法?

浮酱浮酱浮~
为什么会有无穷大)

233大吃货332
看完之后除了知道矿车在某些情况下会卡服意外什么都没有看懂

。—。
用这个原理差不多可以写个存档修复插件

fasugr
emmm,好复杂的样子

空空空空空无
这叫特性!mc没有bug

拾稻の猫猫
这就离谱,这个你是怎么看出来的。。

Jiangwer
可以可以,我也去试试

网恋赚了600
下次我也去试试

无为龙皇
有趣学到了

若真有奇迹
好家伙,又学到一个可以崩服的小技巧

万丈目大人
你这头脑可以啊   还能说这么多

vavxg
,,以前就知道叠加矿车,然后就可以无铁在地上开车,

kqn3
但是为什么不是负数了,无穷大溢出之后应该变成负数啊,在JAVA里头

yyd@y
好,什么都没看懂

冷枫小乐
这个矿车叠加?怎么感觉和以前的生物叠加制作的快速通道一样呢。。
利用生物叠加对自己造成的冲击(碰撞箱),然后飞弹出去的那个。特性

JonsTer
这就很离谱

1594584312
大佬牛蛙233333

栖栖遑遑
膜拜大佬没看太懂但是感觉很牛逼

咸鱼酱Orz
没看懂怎么回事

1449196676
笑死....根本看不懂

foam-
大佬牛逼

昕__
所以发出来是让熊孩子卡服的吗

冰川橘子
这个编号不错

lovexyn0827
kqn3 发表于 2021-7-30 09:14
但是为什么不是负数了,无穷大溢出之后应该变成负数啊,在JAVA里头

那是整数浮点有专门的正负无穷.

C_Z_dada
遇到问题先ban再说

jiujiuqie
这不是某up去边境之地的方法吗?
那他的存档……

Pink_Dove
我第一反应居然是实体碰撞卡的弹射233
落地水,远古bug,我也去反馈一下(doge

WWR650
,好家伙,直呼好家伙

TuanZizi
不不不 是新的特性

QWERTY770
你这个MC-233322与MC-14不是重复了吗

第一页 上一页 下一页 最后一页