package net.minecraft.server; import java.util.function.Predicate; import javax.annotation.Nullable; public class PathfinderTargetCondition { public static final PathfinderTargetCondition a = new PathfinderTargetCondition(); private double b = -1.0D; private boolean c; private boolean d; private boolean e; private boolean f; private boolean g = true; private Predicate<EntityLiving> h; public PathfinderTargetCondition() {} public PathfinderTargetCondition a(double d0) { this.b = d0; return this; } public PathfinderTargetCondition a() { this.c = true; return this; } public PathfinderTargetCondition b() { this.d = true; return this; } public PathfinderTargetCondition c() { this.e = true; return this; } public PathfinderTargetCondition d() { this.f = true; return this; } public PathfinderTargetCondition e() { this.g = false; return this; } public PathfinderTargetCondition a(@Nullable Predicate<EntityLiving> predicate) { this.h = predicate; return this; } public boolean a(@Nullable EntityLiving entityliving, EntityLiving entityliving1) { if (entityliving == entityliving1) { return false; } else if (entityliving1.isSpectator()) { return false; } else if (!entityliving1.isAlive()) { return false; } else if (!this.c && entityliving1.isInvulnerable()) { return false; } else if (this.h != null && !this.h.test(entityliving1)) { return false; } else { if (entityliving != null) { if (!this.f) { if (!entityliving.c(entityliving1)) { return false; } if (!entityliving.a(entityliving1.getEntityType())) { return false; } } if (!this.d && entityliving.r(entityliving1)) { return false; } if (this.b > 0.0D) { double d0 = this.g ? entityliving1.A(entityliving) : 1.0D; double d1 = this.b * d0; double d2 = entityliving.g(entityliving1.locX(), entityliving1.locY(), entityliving1.locZ()); if (d2 > d1 * d1) { return false; } } if (!this.e && entityliving instanceof EntityInsentient && !((EntityInsentient) entityliving).getEntitySenses().a(entityliving1)) { return false; } } return true; } } }