001 package net.minecraft.entity.ai;
002
003 import net.minecraft.entity.EntityLiving;
004 import net.minecraft.entity.passive.EntityTameable;
005
006 public class EntityAIOwnerHurtTarget extends EntityAITarget
007 {
008 EntityTameable theEntityTameable;
009 EntityLiving theTarget;
010
011 public EntityAIOwnerHurtTarget(EntityTameable par1EntityTameable)
012 {
013 super(par1EntityTameable, 32.0F, false);
014 this.theEntityTameable = par1EntityTameable;
015 this.setMutexBits(1);
016 }
017
018 /**
019 * Returns whether the EntityAIBase should begin execution.
020 */
021 public boolean shouldExecute()
022 {
023 if (!this.theEntityTameable.isTamed())
024 {
025 return false;
026 }
027 else
028 {
029 EntityLiving var1 = this.theEntityTameable.getOwner();
030
031 if (var1 == null)
032 {
033 return false;
034 }
035 else
036 {
037 this.theTarget = var1.getLastAttackingEntity();
038 return this.isSuitableTarget(this.theTarget, false);
039 }
040 }
041 }
042
043 /**
044 * Execute a one shot task or start executing a continuous task
045 */
046 public void startExecuting()
047 {
048 this.taskOwner.setAttackTarget(this.theTarget);
049 super.startExecuting();
050 }
051 }