001package net.minecraft.entity.ai;
002
003import net.minecraft.entity.EntityLiving;
004import net.minecraft.entity.passive.EntityTameable;
005
006public 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 entityliving = this.theEntityTameable.getOwner();
030
031            if (entityliving == null)
032            {
033                return false;
034            }
035            else
036            {
037                this.theTarget = entityliving.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}