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_spears into your world's datapacks/ folder
- Run
/reload or 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) |