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.
| Action | Result |
|---|---|
| Sneak + Right-click (standing) | Normal throw |
| Sneak + Right-click (sprinting) | Faster throw, bonus damage |
| Sneak + Right-click (jumping) | Higher arc |
| Sneak + Right-click (wind charge launch) | Inherits blast momentum |
| Sneak + Right-click (in water) | Slowed by drag, low damage |
Cannot be thrown while elytra gliding — swap to a chestplate to throw again.
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) |

