坏投掷

坏投掷

始终返回极端、理论上可能的弹射角度向量

红石

糟糕投掷

一个 Fabric 模组,始终返回极端的弹射物向量值。

原理是什么?

在为弹射物选择速度时,Minecraft 会执行以下操作:

public Vec3 getMovementToShoot(final double xd, final double yd, final double zd, final float pow, final float uncertainty) {
    return (new Vec3(xd, yd, zd)).normalize().add(this.random.triangle((double)0.0F, 0.0172275 * (double)uncertainty), this.random.triangle((double)0.0F, 0.0172275 * (double)uncertainty), this.random.triangle((double)0.0F, 0.0172275 * (double)uncertainty)).scale((double)pow);
}

上述代码在每个轴上添加了一个偏移量,该偏移量遵循边界为 0.0172275 * uncertainty 的三角分布。请参阅 Minecraft Wiki 了解每种弹射物的不确定性值。

这形成了一个可能的向量端点立方体,其中靠近中心的值在概率上呈线性递增。使用本模组后,每个弹射物的投掷角度向量都将位于立方体的 8 个角之一,模拟了理论上可能发生的投掷。

为什么?

大多数珍珠或箭矢的定位射击都依赖于运气。如果投掷不佳,整个机器可能会发生故障。在创建投掷定位或捕获射击/发射的箭矢时,请确保即使在投掷不佳的情况下也能正常工作。

许可证

版权所有(C)2026  AeshKit

本程序为自由软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证 (第二版)的条款重新分发和/或修改它。

本程序的发布是希望它有用, 但不提供任何保证;甚至没有对适销性或特定用途适用性的默示保证。 详情请参阅 GNU 通用公共许可证。

您应该已经随本程序收到了一份 GNU 通用公共许可证的副本; 如果没有,请参阅 <https://www.gnu.org/licenses/&gt;。