@Override public void start() { petEntity.setTarget((LivingEntity) this.target.getBukkitEntity(), TargetPriority.Aggressive); }
@Override public void start() { petEntity.setTarget((LivingEntity) this.target.getBukkitEntity(), TargetPriority.Control); }
public LivingEntity getTarget() { if (target != null) { if (target.isAlive()) { return (LivingEntity) target.getBukkitEntity(); } target = null; } return null; }
@Override public void start() { petEntity.setTarget((LivingEntity) this.target.getBukkitEntity(), TargetPriority.Farm); }
@Override public void start() { petEntity.setTarget((LivingEntity) this.lastDamager.getBukkitEntity(), TargetPriority.OwnerGetsHurt); }
@Override public void start() { petEntity.setTarget((LivingEntity) this.target.getBukkitEntity(), TargetPriority.OwnerHurts); }
@Override public void start() { petEntity.setTarget((LivingEntity) this.target.getBukkitEntity(), TargetPriority.GetHurt); }
@Override public void start() { this.petEntity.getPetNavigation().getParameters().addSpeedModifier("MeleeAttack", walkSpeedModifier); this.petEntity.getPetNavigation().navigateTo((LivingEntity) this.targetEntity.getBukkitEntity()); this.timeUntilNextNavigationUpdate = 0; }
@Override public boolean shouldFinish() { if (!this.petEntity.hasTarget() || !this.petEntity.canMove()) { return true; } else if (this.targetEntity.getBukkitEntity() != this.petEntity.getTarget()) { return true; } if (petEntity.getMyPet().getRangedDamage() > 0 && this.petEntity.f(targetEntity.locX, targetEntity.boundingBox.b, targetEntity.locZ) >= 20) { return true; } return false; }
@Override public boolean shouldFinish() { if (!entityMyPet.hasTarget() || myPet.getRangedDamage() <= 0 || !entityMyPet.canMove()) { return true; } if (this.target.getBukkitEntity() != this.entityMyPet.getTarget()) { return true; } double meleeDamage = myPet.getDamage(); if (meleeDamage > 0 && this.entityMyPet.f(target.locX, target.boundingBox.b, target.locZ) < 4) { Ranged rangedSkill = myPet.getSkills().get(Ranged.class); if (meleeDamage > rangedSkill.getDamage().getValue().doubleValue()) { return true; } } return false; }
@Override public void tick() { this.petEntity.getControllerLook().a(targetEntity, 30.0F, 30.0F); if (--this.timeUntilNextNavigationUpdate <= 0) { this.timeUntilNextNavigationUpdate = (4 + this.petEntity.getRandom().nextInt(7)); this.petEntity.getPetNavigation().navigateTo((LivingEntity) targetEntity.getBukkitEntity()); } if (this.petEntity.f(targetEntity.locX, targetEntity.boundingBox.b, targetEntity.locZ) - (targetEntity.length * (2. / 3.)) <= this.range && this.ticksUntilNextHitLeft-- <= 0) { if (this.petEntity.getEntitySenses().canSee(targetEntity)) { this.ticksUntilNextHitLeft = ticksUntilNextHit; if (this.petEntity instanceof MyPetEquipment) { if (((MyPetEquipment) this.petEntity).getEquipment(EquipmentSlot.MainHand) != null) { this.petEntity.ba(); // -> swingItem() } } this.petEntity.attack(targetEntity); } } } }
Player targetPlayer = (Player) target.getBukkitEntity(); EntityTameableAnimal tameable = (EntityTameableAnimal) target; if (tameable.isTamed() && tameable.getOwner() != null) { Player tameableOwner = (Player) tameable.getOwner().getBukkitEntity(); if (myPet.getOwner().equals(tameableOwner)) { return false; return MyPetApi.getHookHelper().canHurt(myPet.getOwner().getPlayer(), target.getBukkitEntity());
Player targetPlayer = (Player) lastDamager.getBukkitEntity(); EntityTameableAnimal tameable = (EntityTameableAnimal) lastDamager; if (tameable.isTamed() && tameable.getOwner() != null) { Player tameableOwner = (Player) tameable.getOwner().getBukkitEntity(); if (myPet.getOwner().equals(tameableOwner)) { return false; if (!MyPetApi.getHookHelper().canHurt(myPet.getOwner().getPlayer(), lastDamager.getBukkitEntity())) { return false;
Player targetPlayer = (Player) entityLiving.getBukkitEntity(); if (myPet.getOwner().equals(targetPlayer)) { continue; EntityTameableAnimal tameable = (EntityTameableAnimal) entityLiving; if (tameable.isTamed() && tameable.getOwner() != null) { Player tameableOwner = (Player) tameable.getOwner().getBukkitEntity(); if (myPet.getOwner().equals(tameableOwner)) { continue; } else if (!MyPetApi.getHookHelper().canHurt(myPet.getOwner().getPlayer(), entityLiving.getBukkitEntity())) { continue;
Player targetPlayer = (Player) entityLiving.getBukkitEntity(); if (myPet.getOwner().equals(targetPlayer)) { continue; EntityTameableAnimal tameable = (EntityTameableAnimal) entityLiving; if (tameable.isTamed() && tameable.getOwner() != null) { Player tameableOwner = (Player) tameable.getOwner().getBukkitEntity(); if (myPet.getOwner().equals(tameableOwner)) { continue; if (!MyPetApi.getHookHelper().canHurt(myPet.getOwner().getPlayer(), entityLiving.getBukkitEntity())) { continue;
@Override public void tick() { double distanceToTarget = this.entityMyPet.f(this.target.locX, this.target.boundingBox.b, this.target.locZ); boolean canSee = this.entityMyPet.getEntitySenses().canSee(this.target); if (canSee) { this.lastSeenTimer++; } else { this.lastSeenTimer = 0; } if ((distanceToTarget <= this.range) && (this.lastSeenTimer >= 20)) { this.entityMyPet.getPetNavigation().getParameters().removeSpeedModifier("RangedAttack"); this.entityMyPet.getPetNavigation().stop(); } else { this.entityMyPet.getPetNavigation().getParameters().addSpeedModifier("RangedAttack", walkSpeedModifier); this.entityMyPet.getPetNavigation().navigateTo(this.target.getBukkitEntity().getLocation()); } this.entityMyPet.getControllerLook().a(this.target, 30.0F, 30.0F); if (--this.shootTimer <= 0) { if (distanceToTarget < this.range && canSee) { shootProjectile(this.target, (float) myPet.getRangedDamage(), getProjectile()); Ranged rangedSkill = myPet.getSkills().get(Ranged.class); this.shootTimer = rangedSkill.getRateOfFire().getValue(); } } }