001 package net.minecraft.entity.ai;
002
003 import net.minecraft.entity.EntityLiving;
004 import net.minecraft.entity.passive.EntityTameable;
005
006 public class EntityAIOwnerHurtByTarget extends EntityAITarget
007 {
008 EntityTameable theDefendingTameable;
009 EntityLiving theOwnerAttacker;
010
011 public EntityAIOwnerHurtByTarget(EntityTameable par1EntityTameable)
012 {
013 super(par1EntityTameable, 32.0F, false);
014 this.theDefendingTameable = 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.theDefendingTameable.isTamed())
024 {
025 return false;
026 }
027 else
028 {
029 EntityLiving var1 = this.theDefendingTameable.getOwner();
030
031 if (var1 == null)
032 {
033 return false;
034 }
035 else
036 {
037 this.theOwnerAttacker = var1.getAITarget();
038 return this.isSuitableTarget(this.theOwnerAttacker, 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.theOwnerAttacker);
049 super.startExecuting();
050 }
051 }