use of net.minecraft.entity.ai.goal.SwimGoal in project ChocolateQuestRepoured by TeamChocoQuest.
the class AbstractEntityCQR method registerGoals.
@Override
protected void registerGoals() {
if (CQRConfig.advanced.debugAI) {
// TODO: AI Selectors are final now, change this or not?
// this.goalSelector = new EntityAITasksProfiled((IProfiler) this.level.getProfiler(), this.level);
// this.targetSelector = new EntityAITasksProfiled((IProfiler) this.level.getProfiler(), this.level);
}
this.spellHandler = this.createSpellHandler();
this.goalSelector.addGoal(0, new SwimGoal(this));
this.goalSelector.addGoal(1, new EntityAIOpenCloseDoor(this));
if (this.canMountEntity()) {
this.horseAI = new EntityAIRideHorse<>(this, 1.5);
this.goalSelector.addGoal(8, this.horseAI);
}
this.goalSelector.addGoal(9, new EntityAIHealingPotion(this));
this.goalSelector.addGoal(11, this.spellHandler);
this.goalSelector.addGoal(12, new EntityAIAttackSpecial(this));
this.goalSelector.addGoal(13, new EntityAIAttackRanged<>(this));
this.goalSelector.addGoal(14, new EntityAIPotionThrower(this));
this.goalSelector.addGoal(15, new EntityAIFireball(this));
this.goalSelector.addGoal(16, new EntityAIHooker(this));
this.goalSelector.addGoal(17, new EntityAIBackstab(this));
this.goalSelector.addGoal(18, new EntityAIAttack(this));
this.goalSelector.addGoal(19, new EntityAICursedBoneSummoner(this));
this.goalSelector.addGoal(20, new EntityAIFollowAttackTarget(this));
this.goalSelector.addGoal(22, new EntityAIFireFighter(this));
this.goalSelector.addGoal(23, new EntityAITorchIgniter(this));
this.goalSelector.addGoal(24, new EntityAILooter(this));
this.goalSelector.addGoal(25, new EntityAITameAndLeashPet(this));
this.goalSelector.addGoal(26, new EntityAISearchMount(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));
// Electrocution stuff
// this.tasks.addTask(10, new EntityAIPanicElectrocute(this, 2.0D));
// this.tasks.addTask(10, new EntityAIPanicFire(this, 2.0D));
// this.tasks.addTask(3, new EntityAIAvoidEntity<EntityLivingBase>(this, EntityLivingBase.class,
// TargetUtil.PREDICATE_IS_ELECTROCUTED, 8.0F, 1.5D, 2.0D));
// this.tasks.addTask(2, new EntityAIAvoidEntity<EntityElectricField>(this, EntityElectricField.class, 1.0F, 1.5D,
// 1.5D));
this.targetSelector.addGoal(0, new EntityAICQRNearestAttackTarget(this));
this.targetSelector.addGoal(1, new EntityAIHurtByTarget(this));
}
use of net.minecraft.entity.ai.goal.SwimGoal in project ChocolateQuestRepoured by TeamChocoQuest.
the class EntityCQRGiantSpider method registerGoals.
@Override
protected void registerGoals() {
this.spellHandler = this.createSpellHandler();
this.goalSelector.addGoal(0, new SwimGoal(this));
this.goalSelector.addGoal(1, new BossAISpiderSummonMinions(this));
this.goalSelector.addGoal(2, new BossAISpiderWebshot(this));
this.goalSelector.addGoal(3, new BossAISpiderHook(this));
this.goalSelector.addGoal(12, new BossAISpiderLeapAttack(this, 1.2F));
this.goalSelector.addGoal(14, new EntityAIAttack(this));
this.goalSelector.addGoal(20, new EntityAIFollowAttackTarget(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(11, this.spellHandler);
this.spellHandler.addSpell(0, new EntityAIShootPoisonProjectiles(this, 80, 20) {
@Override
protected SoundEvent getStartChargingSound() {
return SoundEvents.SPIDER_HURT;
}
@Override
protected SoundEvent getStartCastingSound() {
return SoundEvents.SPIDER_AMBIENT;
}
});
this.goalSelector.addGoal(0, new EntityAICQRNearestAttackTarget(this));
this.goalSelector.addGoal(1, new EntityAIHurtByTarget(this));
}
use of net.minecraft.entity.ai.goal.SwimGoal 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));
}
use of net.minecraft.entity.ai.goal.SwimGoal in project MCDoom by AzureDoom.
the class ProwlerEntity method initGoals.
@Override
protected void initGoals() {
this.goalSelector.add(0, new SwimGoal(this));
this.goalSelector.add(4, new DemonAttackGoal(this, 1.25D, 2));
this.goalSelector.add(4, new ProwlerEntity.RangedStrafeAttackGoal(this, new FireballAttack(this, false).setProjectileOriginOffset(0.8, 0.8, 0.8).setDamage(config.prowler_ranged_damage).setSound(SoundEvents.ENTITY_BLAZE_SHOOT, 1.0F, 1.4F + this.getRandom().nextFloat() * 0.35F), 1.0D, 50, 30, 15, 15F).setMultiShot(3, 2));
this.goalSelector.add(8, new LookAtEntityGoal(this, PlayerEntity.class, 8.0F));
this.goalSelector.add(8, new LookAroundGoal(this));
this.targetSelector.add(1, new ProwlerEntity.TeleportTowardsPlayerGoal(this, this::shouldAngerAt));
this.targetSelector.add(3, new ActiveTargetGoal<>(this, PlayerEntity.class, true));
this.targetSelector.add(3, new ActiveTargetGoal<>(this, MerchantEntity.class, true));
this.targetSelector.add(2, new RevengeGoal(this));
this.targetSelector.add(4, new UniversalAngerGoal<>(this, false));
}
use of net.minecraft.entity.ai.goal.SwimGoal in project Biome-Makeover by Lemonszz.
the class DragonflyEntity method initGoals.
protected void initGoals() {
this.goalSelector.add(8, new FlyWanderAroundGoal(this));
this.goalSelector.add(9, new SwimGoal(this));
}
Aggregations