Описание
A KubeJS addon for pack dev to easily create custom bows and modify existing bows/crossbows. Please feel free to request modded ranged weapon support in comments.
Update August 6th 2025 - Add compat with Archery Expansion.
Example codes can be found on the [wiki page](https://github.com/vomiter-scp-zh/RangedJS/wiki).
You can also create vanilla-like bow model with client script:
```
ClientEvents.highPriorityAssets(event => {
event.easyBowModel("kubejs:bow_golden")
})
```
You just need to put texture pictures in `kuebjs/assets/kubejs/textures/item/` The texture file names should be `bow_golden.png`, `bow_golden_pulling_0.png`, `bow_golden_pulling_1.png`, `bow_golden_pulling_2.png`
You can also modify existing bows with `ItemEvents.modification` like this:
```
ItemEvents.modification(event => {
const $BowItem = Java.loadClass("net.minecraft.world.item.BowItem")
event.modify("minecraft:bow", item => {if(item instanceof $BowItem){
item.bow(bow => {
bow
.onArrowHit(arrow => {arrow.hitBlock(event => {
event.arrow.block.createEntity("lightning_bolt").spawn()
})})
.modifyBow(attributes => {
attributes.fullChargeTick(15).baseDamage(6)
})
})
}})
})
```