Search in sources :

Example 11 with RevengeGoal

use of net.minecraft.entity.ai.goal.RevengeGoal in project MCDoom by AzureDoom.

the class RevenantEntity method initGoals.

@Override
protected void initGoals() {
    this.goalSelector.add(5, new WanderAroundFarGoal(this, 1.0D));
    this.goalSelector.add(6, new LookAtEntityGoal(this, PlayerEntity.class, 8.0F));
    this.goalSelector.add(6, new LookAroundGoal(this));
    this.targetSelector.add(1, (new RevengeGoal(this).setGroupRevenge()));
    this.goalSelector.add(4, new RangedAttackGoal(this, new RevenantEntity.FireballAttack(this).setProjectileOriginOffset(0.8, 0.8, 0.8).setDamage(config.revenant_ranged_damage), 1.25D, true));
    this.targetSelector.add(2, new ActiveTargetGoal<>(this, PlayerEntity.class, true));
    this.targetSelector.add(3, new ActiveTargetGoal<>(this, MerchantEntity.class, true));
}
Also used : RevengeGoal(net.minecraft.entity.ai.goal.RevengeGoal) WanderAroundFarGoal(net.minecraft.entity.ai.goal.WanderAroundFarGoal) MerchantEntity(net.minecraft.entity.passive.MerchantEntity) LookAroundGoal(net.minecraft.entity.ai.goal.LookAroundGoal) LookAtEntityGoal(net.minecraft.entity.ai.goal.LookAtEntityGoal) RangedAttackGoal(mod.azure.doom.entity.ai.goal.RangedAttackGoal) PlayerEntity(net.minecraft.entity.player.PlayerEntity)

Example 12 with RevengeGoal

use of net.minecraft.entity.ai.goal.RevengeGoal in project MCDoom by AzureDoom.

the class LostSoulEntity method initGoals.

@Override
protected void initGoals() {
    this.goalSelector.add(6, new LookAtEntityGoal(this, PlayerEntity.class, 8.0F));
    this.goalSelector.add(4, new DemonAttackGoal(this, 1.25D, 2));
    this.goalSelector.add(5, new WanderAroundFarGoal(this, 1.0D));
    this.targetSelector.add(2, new ActiveTargetGoal<>(this, PlayerEntity.class, true));
    this.targetSelector.add(2, new ActiveTargetGoal<>(this, MerchantEntity.class, true));
    this.targetSelector.add(2, new RevengeGoal(this).setGroupRevenge());
}
Also used : RevengeGoal(net.minecraft.entity.ai.goal.RevengeGoal) WanderAroundFarGoal(net.minecraft.entity.ai.goal.WanderAroundFarGoal) MerchantEntity(net.minecraft.entity.passive.MerchantEntity) DemonAttackGoal(mod.azure.doom.entity.ai.goal.DemonAttackGoal) LookAtEntityGoal(net.minecraft.entity.ai.goal.LookAtEntityGoal) PlayerEntity(net.minecraft.entity.player.PlayerEntity)

Example 13 with RevengeGoal

use of net.minecraft.entity.ai.goal.RevengeGoal in project MCDoom by AzureDoom.

the class MechaZombieEntity method initGoals.

@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
protected void initGoals() {
    this.goalSelector.add(5, new WanderAroundFarGoal(this, 1.0D));
    this.goalSelector.add(6, new LookAtEntityGoal(this, PlayerEntity.class, 8.0F));
    this.goalSelector.add(6, new LookAroundGoal(this));
    this.goalSelector.add(5, new WanderAroundFarGoal(this, 0.8D));
    this.goalSelector.add(4, new RangedStrafeAttackGoal(this, new FireballAttack(this, false).setProjectileOriginOffset(0.8, 0.8, 0.8).setDamage(config.mechazombie_ranged_damage).setSound(SoundEvents.ENTITY_BLAZE_SHOOT, 1.0F, 1.4F + this.getRandom().nextFloat() * 0.35F), 1.0D, 50, 30, 15, 15F, 1).setMultiShot(4, 3));
    this.goalSelector.add(4, new DemonAttackGoal(this, 1.25D, 2));
    this.targetSelector.add(1, new RevengeGoal(this, new Class[0]).setGroupRevenge());
    this.targetSelector.add(2, new ActiveTargetGoal(this, PlayerEntity.class, true));
    this.targetSelector.add(2, new ActiveTargetGoal<>(this, MerchantEntity.class, true));
}
Also used : ActiveTargetGoal(net.minecraft.entity.ai.goal.ActiveTargetGoal) RangedStrafeAttackGoal(mod.azure.doom.entity.ai.goal.RangedStrafeAttackGoal) RevengeGoal(net.minecraft.entity.ai.goal.RevengeGoal) WanderAroundFarGoal(net.minecraft.entity.ai.goal.WanderAroundFarGoal) FireballAttack(mod.azure.doom.entity.attack.FireballAttack) MerchantEntity(net.minecraft.entity.passive.MerchantEntity) DemonAttackGoal(mod.azure.doom.entity.ai.goal.DemonAttackGoal) LookAroundGoal(net.minecraft.entity.ai.goal.LookAroundGoal) LookAtEntityGoal(net.minecraft.entity.ai.goal.LookAtEntityGoal) PlayerEntity(net.minecraft.entity.player.PlayerEntity)

Example 14 with RevengeGoal

use of net.minecraft.entity.ai.goal.RevengeGoal in project MCDoom by AzureDoom.

the class PossessedScientistEntity method initGoals.

@Override
protected void initGoals() {
    this.goalSelector.add(8, new LookAtEntityGoal(this, PlayerEntity.class, 8.0F));
    this.goalSelector.add(8, new LookAroundGoal(this));
    this.goalSelector.add(5, new WanderAroundFarGoal(this, 0.8D));
    this.goalSelector.add(2, new ThrowItemGoal(this, 1.0D));
    this.targetSelector.add(2, new ActiveTargetGoal<>(this, PlayerEntity.class, true));
    this.targetSelector.add(2, new ActiveTargetGoal<>(this, MerchantEntity.class, true));
    this.targetSelector.add(2, new RevengeGoal(this).setGroupRevenge());
}
Also used : ThrowItemGoal(mod.azure.doom.entity.ai.goal.ThrowItemGoal) RevengeGoal(net.minecraft.entity.ai.goal.RevengeGoal) WanderAroundFarGoal(net.minecraft.entity.ai.goal.WanderAroundFarGoal) MerchantEntity(net.minecraft.entity.passive.MerchantEntity) LookAroundGoal(net.minecraft.entity.ai.goal.LookAroundGoal) LookAtEntityGoal(net.minecraft.entity.ai.goal.LookAtEntityGoal) PlayerEntity(net.minecraft.entity.player.PlayerEntity)

Example 15 with RevengeGoal

use of net.minecraft.entity.ai.goal.RevengeGoal in project MCDoom by AzureDoom.

the class PossessedSoldierEntity method initGoals.

@Override
protected void initGoals() {
    this.goalSelector.add(6, new LookAtEntityGoal(this, PlayerEntity.class, 8.0F));
    this.goalSelector.add(6, new LookAroundGoal(this));
    this.goalSelector.add(5, new WanderAroundFarGoal(this, 0.8D));
    this.goalSelector.add(4, new RangedStrafeAttackGoal(this, new PossessedSoldierEntity.FireballAttack(this).setProjectileOriginOffset(0.8, 0.8, 0.8).setDamage(config.possessed_soldier_ranged_damage), 1.0D, 5, 30, 15, 15F, 1));
    if (this.getVariant() == 2) {
        this.goalSelector.add(5, new RandomFlyConvergeOnTargetGoal(this, 2, 15, 0.5));
    }
    this.targetSelector.add(1, new RevengeGoal(this, new Class[0]).setGroupRevenge());
    this.targetSelector.add(2, new ActiveTargetGoal<>(this, PlayerEntity.class, true));
    this.targetSelector.add(2, new ActiveTargetGoal<>(this, MerchantEntity.class, true));
}
Also used : RangedStrafeAttackGoal(mod.azure.doom.entity.ai.goal.RangedStrafeAttackGoal) RandomFlyConvergeOnTargetGoal(mod.azure.doom.entity.ai.goal.RandomFlyConvergeOnTargetGoal) RevengeGoal(net.minecraft.entity.ai.goal.RevengeGoal) WanderAroundFarGoal(net.minecraft.entity.ai.goal.WanderAroundFarGoal) MerchantEntity(net.minecraft.entity.passive.MerchantEntity) LookAroundGoal(net.minecraft.entity.ai.goal.LookAroundGoal) LookAtEntityGoal(net.minecraft.entity.ai.goal.LookAtEntityGoal) PlayerEntity(net.minecraft.entity.player.PlayerEntity)

Aggregations

RevengeGoal (net.minecraft.entity.ai.goal.RevengeGoal)44 PlayerEntity (net.minecraft.entity.player.PlayerEntity)43 LookAtEntityGoal (net.minecraft.entity.ai.goal.LookAtEntityGoal)42 MerchantEntity (net.minecraft.entity.passive.MerchantEntity)40 LookAroundGoal (net.minecraft.entity.ai.goal.LookAroundGoal)34 WanderAroundFarGoal (net.minecraft.entity.ai.goal.WanderAroundFarGoal)31 RangedAttackGoal (mod.azure.doom.entity.ai.goal.RangedAttackGoal)12 DemonAttackGoal (mod.azure.doom.entity.ai.goal.DemonAttackGoal)10 RangedStrafeAttackGoal (mod.azure.doom.entity.ai.goal.RangedStrafeAttackGoal)8 RandomFlyConvergeOnTargetGoal (mod.azure.doom.entity.ai.goal.RandomFlyConvergeOnTargetGoal)7 FireballAttack (mod.azure.doom.entity.attack.FireballAttack)7 ServerPlayerEntity (net.minecraft.server.network.ServerPlayerEntity)5 AbstractRangedAttack (mod.azure.doom.entity.attack.AbstractRangedAttack)4 ActiveTargetGoal (net.minecraft.entity.ai.goal.ActiveTargetGoal)4 SwimGoal (net.minecraft.entity.ai.goal.SwimGoal)3 UUID (java.util.UUID)2 Lists (com.google.common.collect.Lists)1 List (java.util.List)1 Predicate (java.util.function.Predicate)1 IconAttackGoal (mod.azure.doom.entity.ai.goal.IconAttackGoal)1