版本1.20.1

脚本位置:startup_scripts/

假如一个药水效果在移除的时候有bug,所以必须在获取的时候拦截,但是kubejs没有提供此事件,怎么办?输入这段代码:

const $ForgeRegistries = Java.loadClass('net.minecraftforge.registries.ForgeRegistries')
ForgeEvents.onEvent('net.minecraftforge.event.entity.living.MobEffectEvent',
    /**
     * 
     * @param {$EntityEvent_} event 
     */
    event => {
        const effectId = $ForgeRegistries.MOB_EFFECTS.getKey(event.effectInstance.getEffect())
        if (effectId == 'meds_and_herbs:adrenaline' && !event.entity.isPlayer()) {
            event.setResult("deny")
        }
    })

然后就可以阻止实体获取药水效果啦!(entity是目标实体,演示效果为阻止所有非玩家实体获取原版速度效果)