@Override public boolean shouldExecute() { if (this.getEntityHandle() == null) return false; EntityLiving entityTarget = NMSUtil.getGoalTarget(this.getEntityHandle()); if (entityTarget == null) return false; else if (this.m_toAttack != null && !this.m_toAttack.isAssignableFrom(entityTarget.getClass())) return false; else { this.m_target = entityTarget; this.m_path = this.getNavigation().a(this.m_target); return this.m_path != null; } }
@Override public boolean canContinue() { EntityLiving entityTarget = NMSUtil.getGoalTarget(this.getEntityHandle()); EntityLiving entity = this.getEntityHandle(); if (entityTarget == null) return false; if (!this.m_target.isAlive()) return false; if (!this.m_ignoreSight) return !this.getNavigation().g(); else return NMSUtil.isInHomeArea( entity, MathHelper.floor(this.m_target.locX), MathHelper.floor(this.m_target.locY), MathHelper.floor(this.m_target.locZ)); }