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