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));
}
Aggregations