Search in sources :

Example 1 with MeleeAttack

use of de.Keyle.MyPet.compat.v1_17_R1.entity.ai.attack.MeleeAttack in project MyPet by xXKeyleXx.

the class EntityMyPet method setPathfinder.

public void setPathfinder() {
    petPathfinderSelector.addGoal("Float", new Float(this));
    petPathfinderSelector.addGoal("Sit", sitPathfinder);
    petPathfinderSelector.addGoal("Sprint", new Sprint(this, 0.25F));
    petPathfinderSelector.addGoal("RangedTarget", new RangedAttack(this, -0.1F, 12.0F));
    petPathfinderSelector.addGoal("MeleeAttack", new MeleeAttack(this, 0.1F, 1.5, 20));
    petPathfinderSelector.addGoal("Control", new Control(this, 0.1F));
    petPathfinderSelector.addGoal("FollowOwner", new FollowOwner(this, Configuration.Misc.MYPET_FOLLOW_START_DISTANCE, 2.0F, 16F));
    petPathfinderSelector.addGoal("LookAtPlayer", new LookAtPlayer(this, 8.0F));
    petPathfinderSelector.addGoal("RandomLockaround", new RandomLookaround(this));
    petTargetSelector.addGoal("OwnerHurtByTarget", new OwnerHurtByTarget(this));
    petTargetSelector.addGoal("OwnerHurtTarget", new OwnerHurtTarget(this));
    petTargetSelector.addGoal("HurtByTarget", new HurtByTarget(this));
    petTargetSelector.addGoal("ControlTarget", new ControlTarget(this, 1));
    petTargetSelector.addGoal("AggressiveTarget", new BehaviorAggressiveTarget(this, 15));
    petTargetSelector.addGoal("FarmTarget", new BehaviorFarmTarget(this, 15));
    petTargetSelector.addGoal("DuelTarget", new BehaviorDuelTarget(this, 5));
}
Also used : RangedAttack(de.Keyle.MyPet.compat.v1_7_R4.entity.ai.attack.RangedAttack) MeleeAttack(de.Keyle.MyPet.compat.v1_7_R4.entity.ai.attack.MeleeAttack) Float(de.Keyle.MyPet.compat.v1_7_R4.entity.ai.movement.Float)

Example 2 with MeleeAttack

use of de.Keyle.MyPet.compat.v1_17_R1.entity.ai.attack.MeleeAttack in project MyPet by xXKeyleXx.

the class EntityMyGhast method setPathfinder.

public void setPathfinder() {
    super.setPathfinder();
    petPathfinderSelector.replaceGoal("MeleeAttack", new MeleeAttack(this, 0.1F, 5.5, 20));
}
Also used : MeleeAttack(de.Keyle.MyPet.compat.v1_7_R4.entity.ai.attack.MeleeAttack)

Example 3 with MeleeAttack

use of de.Keyle.MyPet.compat.v1_17_R1.entity.ai.attack.MeleeAttack in project MyPet by xXKeyleXx.

the class EntityMyMagmaCube method setPathfinder.

public void setPathfinder() {
    super.setPathfinder();
    petPathfinderSelector.replaceGoal("MeleeAttack", new MeleeAttack(this, 0.1F, 3 + (getMyPet().getSize() * 0.51), 20));
}
Also used : MeleeAttack(de.Keyle.MyPet.compat.v1_7_R4.entity.ai.attack.MeleeAttack)

Example 4 with MeleeAttack

use of de.Keyle.MyPet.compat.v1_17_R1.entity.ai.attack.MeleeAttack in project MyPet by xXKeyleXx.

the class EntityMyMagmaCube method updateVisuals.

@Override
public void updateVisuals() {
    int size = Math.max(1, getMyPet().getSize());
    this.datawatcher.watch(16, new Byte((byte) size));
    EntitySize es = EntityMyMagmaCube.class.getAnnotation(EntitySize.class);
    if (es != null) {
        this.a(es.width() * size, es.width() * size);
    }
    if (petPathfinderSelector != null && petPathfinderSelector.hasGoal("MeleeAttack")) {
        petPathfinderSelector.replaceGoal("MeleeAttack", new MeleeAttack(this, 0.1F, 3 + (getMyPet().getSize() * 0.51), 20));
    }
}
Also used : EntitySize(de.Keyle.MyPet.api.entity.EntitySize) MeleeAttack(de.Keyle.MyPet.compat.v1_7_R4.entity.ai.attack.MeleeAttack)

Example 5 with MeleeAttack

use of de.Keyle.MyPet.compat.v1_17_R1.entity.ai.attack.MeleeAttack in project MyPet by xXKeyleXx.

the class EntityMySlime method updateVisuals.

@Override
public void updateVisuals() {
    int size = Math.max(1, getMyPet().getSize());
    this.datawatcher.watch(16, new Byte((byte) size));
    EntitySize es = EntityMySlime.class.getAnnotation(EntitySize.class);
    if (es != null) {
        this.a(es.width() * size, es.width() * size);
    }
    if (petPathfinderSelector != null && petPathfinderSelector.hasGoal("MeleeAttack")) {
        petPathfinderSelector.replaceGoal("MeleeAttack", new MeleeAttack(this, 0.1F, 3 + (getMyPet().getSize() * 0.51), 20));
    }
}
Also used : EntitySize(de.Keyle.MyPet.api.entity.EntitySize) MeleeAttack(de.Keyle.MyPet.compat.v1_7_R4.entity.ai.attack.MeleeAttack)

Aggregations

EntitySize (de.Keyle.MyPet.api.entity.EntitySize)18 MeleeAttack (de.Keyle.MyPet.compat.v1_16_R1.entity.ai.attack.MeleeAttack)8 MeleeAttack (de.Keyle.MyPet.compat.v1_16_R3.entity.ai.attack.MeleeAttack)8 MeleeAttack (de.Keyle.MyPet.compat.v1_10_R1.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_11_R1.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_12_R1.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_17_R1.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_18_R1.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_7_R4.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_8_R1.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_8_R2.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_8_R3.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_9_R1.entity.ai.attack.MeleeAttack)7 MeleeAttack (de.Keyle.MyPet.compat.v1_9_R2.entity.ai.attack.MeleeAttack)7 RangedAttack (de.Keyle.MyPet.compat.v1_10_R1.entity.ai.attack.RangedAttack)1 Float (de.Keyle.MyPet.compat.v1_10_R1.entity.ai.movement.Float)1 RangedAttack (de.Keyle.MyPet.compat.v1_11_R1.entity.ai.attack.RangedAttack)1 Float (de.Keyle.MyPet.compat.v1_11_R1.entity.ai.movement.Float)1 RangedAttack (de.Keyle.MyPet.compat.v1_12_R1.entity.ai.attack.RangedAttack)1 Float (de.Keyle.MyPet.compat.v1_12_R1.entity.ai.movement.Float)1