Search in sources :

Example 36 with Behavior

use of de.Keyle.MyPet.api.skill.skills.Behavior in project MyPet by xXKeyleXx.

the class BehaviorAggressiveTarget method shouldFinish.

@Override
public boolean shouldFinish() {
    if (!petEntity.canMove()) {
        return true;
    } else if (petEntity.getMyPetTarget() == null) {
        return true;
    }
    EntityLiving target = ((CraftLivingEntity) petEntity.getMyPetTarget()).getHandle();
    if (!target.isAlive()) {
        return true;
    }
    Behavior behaviorSkill = myPet.getSkills().get(Behavior.class);
    if (behaviorSkill.getBehavior() != BehaviorMode.Aggressive) {
        return true;
    } else if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) {
        return true;
    } else if (target.world != petEntity.world) {
        return true;
    } else if (petEntity.h(target) > 400) {
        return true;
    } else if (petEntity.h(((CraftPlayer) petEntity.getOwner().getPlayer()).getHandle()) > 600) {
        return true;
    }
    return false;
}
Also used : EntityLiving(net.minecraft.server.v1_9_R2.EntityLiving) CraftLivingEntity(org.bukkit.craftbukkit.v1_9_R2.entity.CraftLivingEntity) CraftPlayer(org.bukkit.craftbukkit.v1_9_R2.entity.CraftPlayer) Behavior(de.Keyle.MyPet.api.skill.skills.Behavior)

Example 37 with Behavior

use of de.Keyle.MyPet.api.skill.skills.Behavior in project MyPet by xXKeyleXx.

the class EntityMyEnderman method doMyPetTick.

@Override
protected void doMyPetTick() {
    super.doMyPetTick();
    BehaviorImpl skill = getMyPet().getSkills().get(BehaviorImpl.class);
    Behavior.BehaviorMode behavior = skill.getBehavior();
    if (behavior == Behavior.BehaviorMode.Aggressive) {
        if (!getMyPet().isScreaming()) {
            getMyPet().setScreaming(true);
        }
    } else {
        if (getMyPet().isScreaming()) {
            getMyPet().setScreaming(false);
        }
    }
}
Also used : BehaviorImpl(de.Keyle.MyPet.skill.skills.BehaviorImpl) Behavior(de.Keyle.MyPet.api.skill.skills.Behavior)

Example 38 with Behavior

use of de.Keyle.MyPet.api.skill.skills.Behavior in project MyPet by xXKeyleXx.

the class BehaviorFarmTarget method shouldFinish.

@Override
public boolean shouldFinish() {
    if (!petEntity.canMove()) {
        return true;
    }
    if (!this.petEntity.hasTarget()) {
        return true;
    }
    EntityLiving target = ((CraftLivingEntity) this.petEntity.getMyPetTarget()).getHandle();
    if (!target.isAlive()) {
        return true;
    }
    Behavior behaviorSkill = myPet.getSkills().get(Behavior.class);
    if (behaviorSkill.getBehavior() != BehaviorMode.Farm) {
        return true;
    } else if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) {
        return true;
    } else if (target.world != petEntity.world) {
        return true;
    } else if (petEntity.h(target) > 400) {
        return true;
    } else
        return petEntity.h(((CraftPlayer) petEntity.getOwner().getPlayer()).getHandle()) > 600;
}
Also used : EntityLiving(net.minecraft.server.v1_16_R3.EntityLiving) CraftLivingEntity(org.bukkit.craftbukkit.v1_16_R3.entity.CraftLivingEntity) CraftPlayer(org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer) Behavior(de.Keyle.MyPet.api.skill.skills.Behavior)

Example 39 with Behavior

use of de.Keyle.MyPet.api.skill.skills.Behavior in project MyPet by xXKeyleXx.

the class EntityMyVex method doMyPetTick.

@Override
protected void doMyPetTick() {
    super.doMyPetTick();
    BehaviorImpl skill = getMyPet().getSkills().get(BehaviorImpl.class);
    Behavior.BehaviorMode behavior = skill.getBehavior();
    if (behavior == Behavior.BehaviorMode.Aggressive) {
        if (!isAggressive) {
            isAggressive = true;
            this.updateVisuals();
        }
    } else {
        if (isAggressive) {
            isAggressive = false;
            this.updateVisuals();
        }
    }
}
Also used : BehaviorImpl(de.Keyle.MyPet.skill.skills.BehaviorImpl) Behavior(de.Keyle.MyPet.api.skill.skills.Behavior)

Example 40 with Behavior

use of de.Keyle.MyPet.api.skill.skills.Behavior in project MyPet by xXKeyleXx.

the class EntityMyEnderman method doMyPetTick.

@Override
protected void doMyPetTick() {
    super.doMyPetTick();
    BehaviorImpl skill = getMyPet().getSkills().get(BehaviorImpl.class);
    Behavior.BehaviorMode behavior = skill.getBehavior();
    if (behavior == Behavior.BehaviorMode.Aggressive) {
        if (!getMyPet().isScreaming()) {
            getMyPet().setScreaming(true);
        }
    } else {
        if (getMyPet().isScreaming()) {
            getMyPet().setScreaming(false);
        }
    }
}
Also used : BehaviorImpl(de.Keyle.MyPet.skill.skills.BehaviorImpl) Behavior(de.Keyle.MyPet.api.skill.skills.Behavior)

Aggregations

Behavior (de.Keyle.MyPet.api.skill.skills.Behavior)81 BehaviorImpl (de.Keyle.MyPet.skill.skills.BehaviorImpl)23 MyPet (de.Keyle.MyPet.api.entity.MyPet)22 Player (org.bukkit.entity.Player)15 Ranged (de.Keyle.MyPet.api.skill.skills.Ranged)13 ServerPlayer (net.minecraft.server.level.ServerPlayer)11 TamableAnimal (net.minecraft.world.entity.TamableAnimal)11 ArmorStand (net.minecraft.world.entity.decoration.ArmorStand)9 EntityMyPet (de.Keyle.MyPet.compat.v1_17_R1.entity.EntityMyPet)7 EntityMyPet (de.Keyle.MyPet.compat.v1_12_R1.entity.EntityMyPet)6 EntityMyPet (de.Keyle.MyPet.compat.v1_18_R1.entity.EntityMyPet)6 EntityMyPet (de.Keyle.MyPet.compat.v1_8_R3.entity.EntityMyPet)6 EntityMyPet (de.Keyle.MyPet.compat.v1_16_R1.entity.EntityMyPet)5 EntityMyPet (de.Keyle.MyPet.compat.v1_16_R3.entity.EntityMyPet)5 EntityMyPet (de.Keyle.MyPet.compat.v1_9_R2.entity.EntityMyPet)5 EntityLiving (net.minecraft.server.v1_8_R3.EntityLiving)5 CraftLivingEntity (org.bukkit.craftbukkit.v1_12_R1.entity.CraftLivingEntity)5 CraftPlayer (org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer)5 CraftLivingEntity (org.bukkit.craftbukkit.v1_16_R3.entity.CraftLivingEntity)5 CraftLivingEntity (org.bukkit.craftbukkit.v1_17_R1.entity.CraftLivingEntity)5