
Ranged Weapon API
🏹 Create fully functional bows and crossbows, with ease
Автор: ZsoltMolnarrr5,3 млн252обновлён 28 сент. 2026 г.
СнаряжениеБиблиотеки
Описание
Ranged Weapon API
This mod is an API for developers, allowing easy bow and crossbow creation.

Features:
- Bows and Crossbow construction
- Customizable weapon properties: damage, pull time, projectile velocity (optional)
- Automatic item model predicate registration (matching vanilla model predicates)
- Correct rendering first and third person rendering
- Correct pull FOV
Read all technical details in the GitHub readme.
Галерея
Последние версии
Все версии →release
4.0.0+26.3
4.0.0+26.3-fabric28 сент. 2026 г.36,6 тыс.Minecraft: 26.3fabric
Что нового
# 4.0.0
Package and maven group reworked, no functional change.
- Minecraft 26.3 support
- Minecraft 26.2 support
- Minecraft 26.1.2 support (Java 25).
- Jars are no longer remapped: the shipped jar is the shaded platform jar
- `ranged_weapon:properties` and the config-derived attribute modifiers now bind at resource reload (components are empty until the first reload)
- Removed the `assets/minecraft/items/bow.json` override: vanilla's `use_duration` definition already animates custom pull times
- Java package is now `net.rpg_foundation.ranged_weapon` (was `net.fabric_extras.ranged_weapon`)
- Maven group is now `net.rpg_foundation` (was `net.foundation`), artifact `ranged_weapon_api-<loader>` unchanged
- Mod id, resource namespaces and every `ranged_weapon:` attribute/effect/component/property id are unchanged
- Migration: update imports and the Gradle coordinate
- BREAKING: `CustomBow`/`CustomCrossbow` no longer take a repair ingredient supplier; repairability is the vanilla `minecraft:repairable` component (`Item.Properties#repairable(tag)`)
- Ranged weapon item models use the vanilla properties: bows `minecraft:use_duration` (scale 0.05, re-expressed against the item's real pull time), crossbows `minecraft:crossbow/pull`; `ranged_weapon:pull` is deprecated
- Mobs now prefer the stronger ranged weapon when picking up a dropped one: a skeleton upgrades from its vanilla bow to a dropped custom bow, and no longer trades a custom bow away for a vanilla one. Candidates are ranked by ranged damage first, then by pull time (shorter wins). Applies to any weapon carrying `ranged_weapon:properties`, and only between weapons of the same kind — bow vs crossbow stays vanilla's call.
- Fix potion and tipped arrow names on 1.21.11
- Trimmed mob-AI injects that vanilla no longer reaches
- Internal mixin cleanup: dead code removed, stale comments corrected, mixin-private members made `@Unique`, injector match counts pinned where a partial miss used to degrade silently, and the two `ProjectileUtil` mixins merged into one
release
4.0.0+26.3
4.0.0+26.3-neoforge28 сент. 2026 г.3,1 тыс.Minecraft: 26.3neoforge
Что нового
# 4.0.0
Package and maven group reworked, no functional change.
- Minecraft 26.3 support
- Minecraft 26.2 support
- Minecraft 26.1.2 support (Java 25).
- Jars are no longer remapped: the shipped jar is the shaded platform jar
- `ranged_weapon:properties` and the config-derived attribute modifiers now bind at resource reload (components are empty until the first reload)
- Removed the `assets/minecraft/items/bow.json` override: vanilla's `use_duration` definition already animates custom pull times
- Java package is now `net.rpg_foundation.ranged_weapon` (was `net.fabric_extras.ranged_weapon`)
- Maven group is now `net.rpg_foundation` (was `net.foundation`), artifact `ranged_weapon_api-<loader>` unchanged
- Mod id, resource namespaces and every `ranged_weapon:` attribute/effect/component/property id are unchanged
- Migration: update imports and the Gradle coordinate
- BREAKING: `CustomBow`/`CustomCrossbow` no longer take a repair ingredient supplier; repairability is the vanilla `minecraft:repairable` component (`Item.Properties#repairable(tag)`)
- Ranged weapon item models use the vanilla properties: bows `minecraft:use_duration` (scale 0.05, re-expressed against the item's real pull time), crossbows `minecraft:crossbow/pull`; `ranged_weapon:pull` is deprecated
- Mobs now prefer the stronger ranged weapon when picking up a dropped one: a skeleton upgrades from its vanilla bow to a dropped custom bow, and no longer trades a custom bow away for a vanilla one. Candidates are ranked by ranged damage first, then by pull time (shorter wins). Applies to any weapon carrying `ranged_weapon:properties`, and only between weapons of the same kind — bow vs crossbow stays vanilla's call.
- Fix potion and tipped arrow names on 1.21.11
- Trimmed mob-AI injects that vanilla no longer reaches
- Internal mixin cleanup: dead code removed, stale comments corrected, mixin-private members made `@Unique`, injector match counts pinned where a partial miss used to degrade silently, and the two `ProjectileUtil` mixins merged into one
release
2.3.4+1.20.1
2.3.4+1.20.1-fabric15 сент. 2026 г.24,2 тыс.Minecraft: 1.20.1fabric
Что нового
# 2.3.4+1.20.1
- Ported to Minecraft 1.20.1, Fabric + **Forge 47** (first Forge build)
- 2.x public API preserved; deltas documented in the port notes
- EMI anvil-repair integration is not available on this game version
release
2.3.4+1.20.1
2.3.4+1.20.1-forge15 сент. 2026 г.24,3 тыс.Minecraft: 1.20.1forge, neoforge
Что нового
# 2.3.4+1.20.1
- Ported to Minecraft 1.20.1, Fabric + **Forge 47** (first Forge build)
- 2.x public API preserved; deltas documented in the port notes
- EMI anvil-repair integration is not available on this game version
release
4.0.0+26.2
4.0.0+26.2-neoforge5 сент. 2026 г.3 тыс.Minecraft: 26.2neoforge
Что нового
# 4.0.0
Package and maven group reworked, no functional change.
- Minecraft 26.2 support
- Minecraft 26.1.2 support (Java 25).
- Jars are no longer remapped: the shipped jar is the shaded platform jar
- `ranged_weapon:properties` and the config-derived attribute modifiers now bind at resource reload (components are empty until the first reload)
- Removed the `assets/minecraft/items/bow.json` override: vanilla's `use_duration` definition already animates custom pull times
- Java package is now `net.rpg_foundation.ranged_weapon` (was `net.fabric_extras.ranged_weapon`)
- Maven group is now `net.rpg_foundation` (was `net.foundation`), artifact `ranged_weapon_api-<loader>` unchanged
- Mod id, resource namespaces and every `ranged_weapon:` attribute/effect/component/property id are unchanged
- Migration: update imports and the Gradle coordinate
- BREAKING: `CustomBow`/`CustomCrossbow` no longer take a repair ingredient supplier; repairability is the vanilla `minecraft:repairable` component (`Item.Properties#repairable(tag)`)
- Ranged weapon item models use the vanilla properties: bows `minecraft:use_duration` (scale 0.05, re-expressed against the item's real pull time), crossbows `minecraft:crossbow/pull`; `ranged_weapon:pull` is deprecated
- Mobs now prefer the stronger ranged weapon when picking up a dropped one: a skeleton upgrades from its vanilla bow to a dropped custom bow, and no longer trades a custom bow away for a vanilla one. Candidates are ranked by ranged damage first, then by pull time (shorter wins). Applies to any weapon carrying `ranged_weapon:properties`, and only between weapons of the same kind — bow vs crossbow stays vanilla's call.
- Fix potion and tipped arrow names on 1.21.11
- Trimmed mob-AI injects that vanilla no longer reaches
- Internal mixin cleanup: dead code removed, stale comments corrected, mixin-private members made `@Unique`, injector match counts pinned where a partial miss used to degrade silently, and the two `ProjectileUtil` mixins merged into one
release
4.0.0+26.2
4.0.0+26.2-fabric5 сент. 2026 г.24,5 тыс.Minecraft: 26.2fabric
Что нового
# 4.0.0
Package and maven group reworked, no functional change.
- Minecraft 26.2 support
- Minecraft 26.1.2 support (Java 25).
- Jars are no longer remapped: the shipped jar is the shaded platform jar
- `ranged_weapon:properties` and the config-derived attribute modifiers now bind at resource reload (components are empty until the first reload)
- Removed the `assets/minecraft/items/bow.json` override: vanilla's `use_duration` definition already animates custom pull times
- Java package is now `net.rpg_foundation.ranged_weapon` (was `net.fabric_extras.ranged_weapon`)
- Maven group is now `net.rpg_foundation` (was `net.foundation`), artifact `ranged_weapon_api-<loader>` unchanged
- Mod id, resource namespaces and every `ranged_weapon:` attribute/effect/component/property id are unchanged
- Migration: update imports and the Gradle coordinate
- BREAKING: `CustomBow`/`CustomCrossbow` no longer take a repair ingredient supplier; repairability is the vanilla `minecraft:repairable` component (`Item.Properties#repairable(tag)`)
- Ranged weapon item models use the vanilla properties: bows `minecraft:use_duration` (scale 0.05, re-expressed against the item's real pull time), crossbows `minecraft:crossbow/pull`; `ranged_weapon:pull` is deprecated
- Mobs now prefer the stronger ranged weapon when picking up a dropped one: a skeleton upgrades from its vanilla bow to a dropped custom bow, and no longer trades a custom bow away for a vanilla one. Candidates are ranked by ranged damage first, then by pull time (shorter wins). Applies to any weapon carrying `ranged_weapon:properties`, and only between weapons of the same kind — bow vs crossbow stays vanilla's call.
- Fix potion and tipped arrow names on 1.21.11
- Trimmed mob-AI injects that vanilla no longer reaches
- Internal mixin cleanup: dead code removed, stale comments corrected, mixin-private members made `@Unique`, injector match counts pinned where a partial miss used to degrade silently, and the two `ProjectileUtil` mixins merged into one
release
4.0.0+26.1.2
4.0.0+26.1.2-neoforge5 сент. 2026 г.2,6 тыс.Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# 4.0.0
Package and maven group reworked, no functional change.
- Minecraft 26.1.2 support (Java 25).
- Jars are no longer remapped: the shipped jar is the shaded platform jar
- `ranged_weapon:properties` and the config-derived attribute modifiers now bind at resource reload (components are empty until the first reload)
- Removed the `assets/minecraft/items/bow.json` override: vanilla's `use_duration` definition already animates custom pull times
- Java package is now `net.rpg_foundation.ranged_weapon` (was `net.fabric_extras.ranged_weapon`)
- Maven group is now `net.rpg_foundation` (was `net.foundation`), artifact `ranged_weapon_api-<loader>` unchanged
- Mod id, resource namespaces and every `ranged_weapon:` attribute/effect/component/property id are unchanged
- Migration: update imports and the Gradle coordinate
- BREAKING: `CustomBow`/`CustomCrossbow` no longer take a repair ingredient supplier; repairability is the vanilla `minecraft:repairable` component (`Item.Properties#repairable(tag)`)
- Ranged weapon item models use the vanilla properties: bows `minecraft:use_duration` (scale 0.05, re-expressed against the item's real pull time), crossbows `minecraft:crossbow/pull`; `ranged_weapon:pull` is deprecated
- Mobs now prefer the stronger ranged weapon when picking up a dropped one: a skeleton upgrades from its vanilla bow to a dropped custom bow, and no longer trades a custom bow away for a vanilla one. Candidates are ranked by ranged damage first, then by pull time (shorter wins). Applies to any weapon carrying `ranged_weapon:properties`, and only between weapons of the same kind — bow vs crossbow stays vanilla's call.
- Fix potion and tipped arrow names on 1.21.11
- Trimmed mob-AI injects that vanilla no longer reaches
- Internal mixin cleanup: dead code removed, stale comments corrected, mixin-private members made `@Unique`, injector match counts pinned where a partial miss used to degrade silently, and the two `ProjectileUtil` mixins merged into one
release
4.0.0+26.1.2
4.0.0+26.1.2-fabric5 сент. 2026 г.7 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# 4.0.0
Package and maven group reworked, no functional change.
- Minecraft 26.1.2 support (Java 25).
- Jars are no longer remapped: the shipped jar is the shaded platform jar
- `ranged_weapon:properties` and the config-derived attribute modifiers now bind at resource reload (components are empty until the first reload)
- Removed the `assets/minecraft/items/bow.json` override: vanilla's `use_duration` definition already animates custom pull times
- Java package is now `net.rpg_foundation.ranged_weapon` (was `net.fabric_extras.ranged_weapon`)
- Maven group is now `net.rpg_foundation` (was `net.foundation`), artifact `ranged_weapon_api-<loader>` unchanged
- Mod id, resource namespaces and every `ranged_weapon:` attribute/effect/component/property id are unchanged
- Migration: update imports and the Gradle coordinate
- BREAKING: `CustomBow`/`CustomCrossbow` no longer take a repair ingredient supplier; repairability is the vanilla `minecraft:repairable` component (`Item.Properties#repairable(tag)`)
- Ranged weapon item models use the vanilla properties: bows `minecraft:use_duration` (scale 0.05, re-expressed against the item's real pull time), crossbows `minecraft:crossbow/pull`; `ranged_weapon:pull` is deprecated
- Mobs now prefer the stronger ranged weapon when picking up a dropped one: a skeleton upgrades from its vanilla bow to a dropped custom bow, and no longer trades a custom bow away for a vanilla one. Candidates are ranked by ranged damage first, then by pull time (shorter wins). Applies to any weapon carrying `ranged_weapon:properties`, and only between weapons of the same kind — bow vs crossbow stays vanilla's call.
- Fix potion and tipped arrow names on 1.21.11
- Trimmed mob-AI injects that vanilla no longer reaches
- Internal mixin cleanup: dead code removed, stale comments corrected, mixin-private members made `@Unique`, injector match counts pinned where a partial miss used to degrade silently, and the two `ProjectileUtil` mixins merged into one
release
4.0.0+1.21.11
4.0.0+1.21.11-neoforge26 авг. 2026 г.378Minecraft: 1.21.11neoforge
Что нового
# 4.0.0
Package and maven group reworked, no functional change.
- Java package is now `net.rpg_foundation.ranged_weapon` (was `net.fabric_extras.ranged_weapon`)
- Maven group is now `net.rpg_foundation` (was `net.foundation`), artifact `ranged_weapon_api-<loader>` unchanged
- Mod id, resource namespaces and every `ranged_weapon:` attribute/effect/component/property id are unchanged
- Migration: update imports and the Gradle coordinate
- BREAKING: `CustomBow`/`CustomCrossbow` no longer take a repair ingredient supplier; repairability is the vanilla `minecraft:repairable` component (`Item.Settings.repairable(tag)`)
- Ranged weapon item models use the vanilla properties: bows `minecraft:use_duration` (scale 0.05, re-expressed against the item's real pull time), crossbows `minecraft:crossbow/pull`; `ranged_weapon:pull` is deprecated
- Fix potion and tipped arrow names on 1.21.11
- Trimmed mob-AI injects that vanilla no longer reaches
release
4.0.0+1.21.11
4.0.0+1.21.11-fabric26 авг. 2026 г.1,9 тыс.Minecraft: 1.21.11fabric
Что нового
# 4.0.0
Package and maven group reworked, no functional change.
- Java package is now `net.rpg_foundation.ranged_weapon` (was `net.fabric_extras.ranged_weapon`)
- Maven group is now `net.rpg_foundation` (was `net.foundation`), artifact `ranged_weapon_api-<loader>` unchanged
- Mod id, resource namespaces and every `ranged_weapon:` attribute/effect/component/property id are unchanged
- Migration: update imports and the Gradle coordinate
- BREAKING: `CustomBow`/`CustomCrossbow` no longer take a repair ingredient supplier; repairability is the vanilla `minecraft:repairable` component (`Item.Settings.repairable(tag)`)
- Ranged weapon item models use the vanilla properties: bows `minecraft:use_duration` (scale 0.05, re-expressed against the item's real pull time), crossbows `minecraft:crossbow/pull`; `ranged_weapon:pull` is deprecated
- Fix potion and tipped arrow names on 1.21.11
- Trimmed mob-AI injects that vanilla no longer reaches