/** Execute a one shot task or start executing a continuous task */ public void startExecuting() { this.taskOwner.setAttackTarget(this.theOwnerAttacker); EntityLivingBase entitylivingbase = this.theDefendingTameable.func_130012_q(); if (entitylivingbase != null) { this.field_142051_e = entitylivingbase.func_142015_aE(); } super.startExecuting(); }
/** Returns whether the EntityAIBase should begin execution. */ public boolean shouldExecute() { if (!this.theDefendingTameable.isTamed()) { return false; } else { EntityLivingBase entitylivingbase = this.theDefendingTameable.func_130012_q(); if (entitylivingbase == null) { return false; } else { this.theOwnerAttacker = entitylivingbase.getAITarget(); int i = entitylivingbase.func_142015_aE(); return i != this.field_142051_e && this.isSuitableTarget(this.theOwnerAttacker, false) && this.theDefendingTameable.func_142018_a(this.theOwnerAttacker, entitylivingbase); } } }