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.
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)
})
})
}})
})