附魔了激流的三叉戟能够给玩家多大的加速?

【引子】
激流 (riptide) 算是原版MC中最帅的附魔之一了,也是后期玩家在三叉戟上用得较多的一种附魔。然后我闲着没事就想看看三叉戟是怎么给玩家加速的……
【太长不看版】
激流Ⅰ -> 30m/s
激流Ⅱ -> 45m/s
激流Ⅲ -> 60m/s
P.S.后面还有好玩的内容
【代码部分】
我们看到 TridentItem类的onStoppedUsing()方法中:
[ Lnet/minecraft/item/TridentItem;onStoppedUsing(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;I)V
]


float f = playerEntity.yaw;
float g = playerEntity.pitch;
float h = -MathHelper.sin(f * 0.017453292F) * MathHelper.cos(g * 0.017453292F);
float k = -MathHelper.sin(g * 0.017453292F);
float l = MathHelper.cos(f * 0.017453292F) * MathHelper.cos(g * 0.017453292F);
float m = MathHelper.sqrt(h * h + k * k + l * l);
float n = 3.0F * ((1.0F + (float)j) / 4.0F);
h *= n / m;
k *= n / m;
l *= n / m;
最后得到h, l, k 分别是这次加速的x,z,y轴动量。


值得一提的是,站在地面上的玩家使用激流三叉戟,无论朝哪里,都会被加上个1.2m/gt的向上动量。
1.2m/gt看似不大,但是作为比较,一次爆炸给玩家造成的最大推力也只不过1.0m/gt。
最后就是播放音效了:

【得出结论】
(我感觉这个专栏好水啊233)
从代码里面可以看到,一次riptide的过程给玩家的加速是一次性的。(区别于烟花火箭的“速度保持”。)
加速大小 Δv = (附魔等级 + 1) * (3 / 4) [m/gt]
分别代入一二三级激流附魔,可以得出:
一级:Δv = 30 m/s
二级:Δv = 45 m/s
三级:Δv = 60 m/s
……当然还有有些人最关心的2,147,483,647级附魔:
理论上能给出 1610612736 m/s 的惊天加速(不过MC肯定撑不住233)。

然而游戏并没有崩溃,而是给出了3838.432这个最大y轴速度。
至于为啥是这个数字……也许由MC中玩家的移动方式有关。反正我怎么调试客户端服务端穿上脱下鞘翅都不能改变它……

【再说点别的】
三叉戟要蓄力多久?答案:0.5秒

当然,使用一次激流之后,玩家需要1.0秒的CD来开始下一次蓄力。

也就是说三叉戟的周期是1.5秒。
假设玩家体重是60kg,那么每一次激流Ⅲ加速的动能变化量:
ΔEv = 0.5 * m * Δv ^ 2
= 0.5 * 60 * 60 ^ 2
= 108000 (焦耳)
那么激流Ⅲ的三叉戟的最大功率就是 108000 / 1.5 = 72kw .
一人一叉,发电不差。