protected boolean func_75296_a(EntityLivingBase p_75296_1_, boolean p_75296_2_) { if(p_75296_1_ == null) { return false; } else if(p_75296_1_ == this.field_75299_d) { return false; } else if(!p_75296_1_.func_70089_S()) { return false; } else if(!this.field_75299_d.func_70686_a(p_75296_1_.getClass())) { return false; } else { if(this.field_75299_d instanceof EntityOwnable && StringUtils.isNotEmpty(((EntityOwnable)this.field_75299_d).func_70905_p())) { if(p_75296_1_ instanceof EntityOwnable && ((EntityOwnable)this.field_75299_d).func_70905_p().equals(((EntityOwnable)p_75296_1_).func_70905_p())) { return false; } if(p_75296_1_ == ((EntityOwnable)this.field_75299_d).func_70902_q()) { return false; } } else if(p_75296_1_ instanceof EntityPlayer && !p_75296_2_ && ((EntityPlayer)p_75296_1_).field_71075_bZ.field_75102_a) { return false; } if(!this.field_75299_d.func_110176_b(MathHelper.func_76128_c(p_75296_1_.field_70165_t), MathHelper.func_76128_c(p_75296_1_.field_70163_u), MathHelper.func_76128_c(p_75296_1_.field_70161_v))) { return false; } else if(this.field_75297_f && !this.field_75299_d.func_70635_at().func_75522_a(p_75296_1_)) { return false; } else { if(this.field_75303_a) { if(--this.field_75302_c <= 0) { this.field_75301_b = 0; } if(this.field_75301_b == 0) { this.field_75301_b = this.func_75295_a(p_75296_1_)?1:2; } if(this.field_75301_b == 2) { return false; } } return true; } } }
/** * A method used to see if an entity is a suitable target through a number of checks. */ protected boolean isSuitableTarget(EntityLivingBase par1EntityLivingBase, boolean par2) { if (par1EntityLivingBase == null) { return false; } else if (par1EntityLivingBase == this.taskOwner) { return false; } else if (!par1EntityLivingBase.isEntityAlive()) { return false; } else if (!this.taskOwner.canAttackClass(par1EntityLivingBase.getClass())) { return false; } else { if (this.taskOwner instanceof EntityOwnable && StringUtils.isNotEmpty(((EntityOwnable)this.taskOwner).getOwnerName())) { if (par1EntityLivingBase instanceof EntityOwnable && ((EntityOwnable)this.taskOwner).getOwnerName().equals(((EntityOwnable)par1EntityLivingBase).getOwnerName())) { return false; } if (par1EntityLivingBase == ((EntityOwnable)this.taskOwner).getOwner()) { return false; } } else if (par1EntityLivingBase instanceof EntityPlayer && !par2 && ((EntityPlayer)par1EntityLivingBase).capabilities.disableDamage) { return false; } if (!this.taskOwner.func_110176_b(MathHelper.floor_double(par1EntityLivingBase.posX), MathHelper.floor_double(par1EntityLivingBase.posY), MathHelper.floor_double(par1EntityLivingBase.posZ))) { return false; } else if (this.shouldCheckSight && !this.taskOwner.getEntitySenses().canSee(par1EntityLivingBase)) { return false; } else { if (this.nearbyOnly) { if (--this.targetSearchDelay <= 0) { this.targetSearchStatus = 0; } if (this.targetSearchStatus == 0) { this.targetSearchStatus = this.canEasilyReach(par1EntityLivingBase) ? 1 : 2; } if (this.targetSearchStatus == 2) { return false; } } return true; } } }