Physics-based spear throwing for Minecraft Java Edition 1.21.11.
A vanilla datapack that makes spears throwable with real momentum-based damage. No mods, no resource packs.
How to Use
Sneak + Right-click with any spear to throw it.

Cannot be thrown while elytra gliding (because you cannot sneak while gliding), you have to swap swap to chestplate or remove elytra to throw spear.
The spear flies as an item and can be picked up after landing.
Additions:
- Momentum: your sprint/jump/fall speed at throw time (up to ~+7 damage on a sprint throw, more from falls)
- Sharpness: +1 damage per 2 levels
- Fire Aspect: ignites the hit target for 4s (level I) or 8s (level II+); kills drop cooked food
Critical (>1.8 throw velocity): extra particles, louder hit sound, metallic ring
Compatibility
- Atleast Minecraft 1.21.11
- Works alongside with most datapacks (only hooks into spear usage).
Installation
- Drop
throwable_spearsinto your world'sdatapacks/folder - Run
/reloador re-enter the world - You'll see:
[Throwable Spears] Loaded. Sneak + right-click to throw!
Configuration
Edit data/throwable_spears/functions/utils/config.mcfunction:
| Variable | Default | Description |
|---|---|---|
#min_vel |
15 | Min velocity (×100) to deal damage |
#crit_vel |
180 | Velocity threshold for critical effects |
#throw_power |
100 | Base throw speed (×100) |
#momentum_pct |
100 | Player velocity inheritance % |
#mom_keep |
80 | Peak-speed memory kept per tick (×100) |
#throw_cooldown |
10 | Cooldown between throws (ticks) |
