来点妙妙小代码tick拉史

const bow = {
    'minecraft:bow': { maxCharge: 20 },
    //'minecraft:trident':{} 
}
PlayerEvents.tick(event => {
    let player = event.player
    if (!player.isUsingItem()) return
    if (player.crouching) return
    let item = player.getMainHandItem()
    if (!item) return
    let bows = bow[item.id]
    if (!bows) return
    let useDuration = player.getTicksUsingItem()
    if (useDuration >= bows.maxCharge * 0.99) {
        player.releaseUsingItem()
    }
})

食用说明

const bow内填物品id,不限于弓,也可以是三叉戟,还能是mod的蓄力工具,后面的maxCharge不可自定义名称,是物品使用时间单位为帧(例如弓拉满弓需要20帧)

后面就是检查玩家是否在潜行,用作开关;

检查使用物品返回,检查弓返回,检查主手物品返回,减少tick的开销这么多返回,何意味

最后的if才是满弓释放