Description
A KubeJS addon for pack dev to easily create custom bows and modify existing bows/crossbows.
- Note: Skeletons do not natively use custom bows; you may check another mod "Skeleton Uses Custom Bow" for that feature.
- Note: Pillagers can use custom crossbow by default, but piglins can't; you may install "Piglin Hunt Fix" for that feature.
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)
})
})
}})
})
This mod also supports Archery Expansion. You may create a bow with archery expansion properties if the mod is also installed.
event.create("kjsaexpbow", "bow").bow(bow => {
bow.AExpBow(aexp => {
aexp.archeryexp$setWalkSpeed(1) //Please use ProbeJS to get usable methods
})
})