1.20.1 создание эвентов для модов

Версия Minecraft
1.20.1
API
Forge
Я хочу исправить гриф в Solarcraft, я знаю, как исправить это в 1.7.10 с помощью EventHelper от GamerForEA, но его не существует для 1.20.1
Как вызвать форджевский эвент атаки и проверить, было ли он отменен или нет?

Исходник:
    @Override
    public void releaseUsing(ItemStack stack, Level level, LivingEntity entity, int remainingTime) {
        if (entity instanceof ServerPlayer) {
            stack.hurtAndBreak(1,entity,(l)->{
                l.broadcastBreakEvent(l.getUsedItemHand());
            });
        }
        if (!level.isClientSide){
            int i = this.getUseDuration(stack) - remainingTime;
            float power = BowItem.getPowerForTime(i);

            int damage = 10;
            if (getItemLevel(stack) >= 1){
                damage+=5;
            }
            damage *= power;
            Consumer<EntityHitResult> cons = (ctx)-> {
                Entity entity1 = ctx.getEntity();
                if (entity1 instanceof LivingEntity ent) {
                    if (getItemLevel(stack) >= 2){
                        ent.setSecondsOnFire(8);
                    }
                    if (getItemLevel(stack) >= 3) {
                        ent.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 80, 2));
                    }
                    if (getItemLevel(stack) >= 5){
                        List<LivingEntity> targets = ent.level.getEntitiesOfClass(LivingEntity.class,aoe.move(ent.position()),(target)->{
                           if (target.equals(ent) || target.equals(entity)) {
                               return false;
                           }else{
                               return true;
                           }
                        });
                        targets.forEach((target)->{
                            Vec3 origPos = ent.position().add(0,ent.getBbHeight()/1.2,0);
                            Vec3 targetPos = target.position().add(0,target.getBbHeight()/1.2,0);
                            Vec3 velocity = new Vec3(targetPos.x - origPos.x,targetPos.y - origPos.y,targetPos.z - origPos.z);
                            AbstractTurretProjectile proj = new AbstractTurretProjectile(level,new AbstractTurretProjectile.Constructor()
                                    .setPosition(origPos)
                                    .setVelocity(velocity.normalize().multiply(3,3,3))
                                    .setDamageSource(SolarcraftDamageSources.livingArmorPierceProjectile(entity))
                                    .setDamage(15*power)
                                    .addOnHitEntityEffect((sideContext)->{
                                        if (sideContext.getEntity() instanceof LivingEntity t){
                                            t.setSecondsOnFire(8);
                                            t.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 80, 2));
                                        }
                                    })
                            );
                            ctx.getEntity().level.addFreshEntity(proj);
                        });
                    }
                }
            };
            AbstractTurretProjectile proj = new AbstractTurretProjectile(level,new AbstractTurretProjectile.Constructor()
            .setPosition(entity.position().add(entity.getLookAngle().x,entity.getBbHeight()/1.4 + entity.getLookAngle().y,entity.getLookAngle().z))
                    .setVelocity(entity.getLookAngle().multiply(3,3,3))
                    .setDamageSource(SolarcraftDamageSources.livingArmorPierceProjectile(entity))
                    .setDamage(damage)
                    .addOnHitEntityEffect(cons)
            );

            if ((getItemLevel(stack) >= 4) && power >= 0.8){
                proj.explosionPower = 5;
            }
            level.addFreshEntity(proj);
        }

        super.releaseUsing(stack, level, entity, remainingTime);
    }



Я хочу вызвать проверку тут:
                                        if (sideContext.getEntity() instanceof LivingEntity t){
                                            t.setSecondsOnFire(8);
                                            t.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 80, 2));
                                        }
 
Я попробовала вызвать эвент таким образом:
                                        if (sideContext.getEntity() instanceof LivingEntity t){

                                            AttackEntityEvent e = new AttackEntityEvent((Player) ent, t);
                                            MinecraftForge.EVENT_BUS.post(e);
                                            if(!e.isCancelled()) {
                                                t.setSecondsOnFire(8);
                                                t.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 80, 2));
                                            }

                                            //t.setSecondsOnFire(8);
                                            //t.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 80, 2));
                                        }
                                    })

Но по какой-то причине, идея ругается на .isCancelled(), видимо его нет в этой версии, но как заменить?
 
Сверху