Search in sources :

Example 1 with BossAIExterminatorStun

use of team.cqr.cqrepoured.entity.ai.boss.exterminator.BossAIExterminatorStun in project ChocolateQuestRepoured by TeamChocoQuest.

the class EntityCQRExterminator method registerGoals.

@Override
protected void registerGoals() {
    if (CQRConfig.advanced.debugAI) {
    // this.goalSelector = new EntityAITasksProfiled(this.level.profiler, this.level);
    // this.targetSelector = new EntityAITasksProfiled(this.level.profiler, this.level);
    }
    this.goalSelector.addGoal(1, new SwimGoal(this));
    this.goalSelector.addGoal(2, new EntityAIOpenCloseDoor(this));
    this.goalSelector.addGoal(0, new BossAIExterminatorStun(this));
    this.goalSelector.addGoal(2, new BossAIExterminatorHulkSmash(this));
    this.goalSelector.addGoal(3, new BossAIExterminatorHandLaser(this));
    this.goalSelector.addGoal(4, new BossAIArmCannon(this));
    this.goalSelector.addGoal(12, new EntityAIAttackSpecial(this));
    this.goalSelector.addGoal(13, new EntityAIAttackRanged<AbstractEntityCQR>(this));
    this.goalSelector.addGoal(14, new EntityAIPotionThrower(this));
    /* AI for secondary Item */
    this.goalSelector.addGoal(15, new EntityAIFireball(this));
    /* AI for secondary Item */
    this.goalSelector.addGoal(16, new EntityAIHooker(this));
    /* AI for secondary Item */
    this.goalSelector.addGoal(17, new EntityAIBackstab(this));
    this.goalSelector.addGoal(18, new EntityAIAttack(this) {

        @Override
        public boolean canUse() {
            return super.canUse() && !EntityCQRExterminator.this.isStunned();
        }

        @Override
        public boolean canContinueToUse() {
            return super.canContinueToUse() && !EntityCQRExterminator.this.isStunned();
        }
    });
    this.goalSelector.addGoal(19, new EntityAICursedBoneSummoner(this));
    this.goalSelector.addGoal(20, new EntityAIFollowAttackTarget(this));
    this.goalSelector.addGoal(24, new EntityAILooter(this));
    this.goalSelector.addGoal(30, new EntityAIMoveToLeader(this));
    this.goalSelector.addGoal(31, new EntityAIFollowPath(this));
    this.goalSelector.addGoal(32, new EntityAIMoveToHome(this));
    this.goalSelector.addGoal(33, new EntityAIIdleSit(this));
    // Target tasks for the electro stuff
    this.targetSelector.addGoal(0, new EntityAICQRNearestAttackTarget(this));
    this.targetSelector.addGoal(1, new EntityAIHurtByTarget(this));
    this.targetSelector.addGoal(2, new EntityAITargetElectrocute(this, this::getElectroCuteTargetLeft, this::setElectroCuteTargetLeft));
    this.targetSelector.addGoal(2, new EntityAITargetElectrocute(this, this::getElectroCuteTargetRight, this::setElectroCuteTargetRight));
}
Also used : EntityAIPotionThrower(team.cqr.cqrepoured.entity.ai.item.EntityAIPotionThrower) EntityAIAttack(team.cqr.cqrepoured.entity.ai.attack.EntityAIAttack) EntityAICursedBoneSummoner(team.cqr.cqrepoured.entity.ai.item.EntityAICursedBoneSummoner) BossAIExterminatorHandLaser(team.cqr.cqrepoured.entity.ai.boss.exterminator.BossAIExterminatorHandLaser) AbstractEntityCQR(team.cqr.cqrepoured.entity.bases.AbstractEntityCQR) EntityAIHurtByTarget(team.cqr.cqrepoured.entity.ai.target.EntityAIHurtByTarget) EntityAIMoveToLeader(team.cqr.cqrepoured.entity.ai.EntityAIMoveToLeader) BossAIExterminatorHulkSmash(team.cqr.cqrepoured.entity.ai.boss.exterminator.BossAIExterminatorHulkSmash) SwimGoal(net.minecraft.entity.ai.goal.SwimGoal) BossAIExterminatorStun(team.cqr.cqrepoured.entity.ai.boss.exterminator.BossAIExterminatorStun) EntityAITargetElectrocute(team.cqr.cqrepoured.entity.ai.target.exterminator.EntityAITargetElectrocute) EntityAIAttackSpecial(team.cqr.cqrepoured.entity.ai.attack.special.EntityAIAttackSpecial) EntityAIHooker(team.cqr.cqrepoured.entity.ai.attack.special.EntityAIHooker) EntityAIFollowAttackTarget(team.cqr.cqrepoured.entity.ai.EntityAIFollowAttackTarget) EntityAIFireball(team.cqr.cqrepoured.entity.ai.item.EntityAIFireball) EntityAIBackstab(team.cqr.cqrepoured.entity.ai.attack.EntityAIBackstab) EntityAIFollowPath(team.cqr.cqrepoured.entity.ai.EntityAIFollowPath) EntityAIMoveToHome(team.cqr.cqrepoured.entity.ai.EntityAIMoveToHome) BossAIArmCannon(team.cqr.cqrepoured.entity.ai.boss.exterminator.BossAIArmCannon) EntityAILooter(team.cqr.cqrepoured.entity.ai.attack.special.EntityAILooter) EntityAIOpenCloseDoor(team.cqr.cqrepoured.entity.ai.EntityAIOpenCloseDoor) EntityAICQRNearestAttackTarget(team.cqr.cqrepoured.entity.ai.target.EntityAICQRNearestAttackTarget) EntityAIIdleSit(team.cqr.cqrepoured.entity.ai.EntityAIIdleSit)

Aggregations

SwimGoal (net.minecraft.entity.ai.goal.SwimGoal)1 EntityAIFollowAttackTarget (team.cqr.cqrepoured.entity.ai.EntityAIFollowAttackTarget)1 EntityAIFollowPath (team.cqr.cqrepoured.entity.ai.EntityAIFollowPath)1 EntityAIIdleSit (team.cqr.cqrepoured.entity.ai.EntityAIIdleSit)1 EntityAIMoveToHome (team.cqr.cqrepoured.entity.ai.EntityAIMoveToHome)1 EntityAIMoveToLeader (team.cqr.cqrepoured.entity.ai.EntityAIMoveToLeader)1 EntityAIOpenCloseDoor (team.cqr.cqrepoured.entity.ai.EntityAIOpenCloseDoor)1 EntityAIAttack (team.cqr.cqrepoured.entity.ai.attack.EntityAIAttack)1 EntityAIBackstab (team.cqr.cqrepoured.entity.ai.attack.EntityAIBackstab)1 EntityAIAttackSpecial (team.cqr.cqrepoured.entity.ai.attack.special.EntityAIAttackSpecial)1 EntityAIHooker (team.cqr.cqrepoured.entity.ai.attack.special.EntityAIHooker)1 EntityAILooter (team.cqr.cqrepoured.entity.ai.attack.special.EntityAILooter)1 BossAIArmCannon (team.cqr.cqrepoured.entity.ai.boss.exterminator.BossAIArmCannon)1 BossAIExterminatorHandLaser (team.cqr.cqrepoured.entity.ai.boss.exterminator.BossAIExterminatorHandLaser)1 BossAIExterminatorHulkSmash (team.cqr.cqrepoured.entity.ai.boss.exterminator.BossAIExterminatorHulkSmash)1 BossAIExterminatorStun (team.cqr.cqrepoured.entity.ai.boss.exterminator.BossAIExterminatorStun)1 EntityAICursedBoneSummoner (team.cqr.cqrepoured.entity.ai.item.EntityAICursedBoneSummoner)1 EntityAIFireball (team.cqr.cqrepoured.entity.ai.item.EntityAIFireball)1 EntityAIPotionThrower (team.cqr.cqrepoured.entity.ai.item.EntityAIPotionThrower)1 EntityAICQRNearestAttackTarget (team.cqr.cqrepoured.entity.ai.target.EntityAICQRNearestAttackTarget)1