normalizeArrowVelocity
Normalizes arrow velocity to a 0–1 scale for ranged damage calculation.
Full-draw bow velocity magnitude is approximately 3.0. Crossbow bolts are approximately 3.15. We normalize against 3.0 and clamp to [0, 1].
Note:getVelocity returns the current velocity, which decays during flight due to gravity and drag. Long-range shots can drop below 1.5 by impact even at full draw, halving the resulting damage. Callers that have a launch-time velocity stored on the arrow should pass it directly via normalizeArrowVelocity instead.
Return
Normalized velocity in [0, 1]
Parameters
The projectile to measure
Variant of normalizeArrowVelocity that takes a pre-captured velocity magnitude (typically stored on the projectile at launch via ItemTagger.setArrowLaunchVelocity). Prefer this over the projectile overload at damage-application time so in-flight deceleration does not eat into bow/crossbow damage.