Fixed error
This commit is contained in:
parent
c518d8dd6d
commit
9126c9d295
|
@ -0,0 +1,93 @@
|
||||||
|
package net.minecraft.server;
|
||||||
|
|
||||||
|
import com.google.common.base.Predicate;
|
||||||
|
import com.google.common.base.Predicates;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
public class PathfinderGoalAvoidTarget<T extends Entity> extends PathfinderGoal {
|
||||||
|
private final Predicate<Entity> c;
|
||||||
|
protected EntityCreature a;
|
||||||
|
private double d;
|
||||||
|
private double e;
|
||||||
|
protected T b;
|
||||||
|
private float f;
|
||||||
|
private PathEntity g;
|
||||||
|
private NavigationAbstract h;
|
||||||
|
private Class<T> i;
|
||||||
|
private Predicate<? super T> j;
|
||||||
|
|
||||||
|
public PathfinderGoalAvoidTarget(EntityCreature var1, Class<T> var2, float var3, double var4, double var6) {
|
||||||
|
this(var1, var2, Predicates.alwaysTrue(), var3, var4, var6);
|
||||||
|
}
|
||||||
|
|
||||||
|
public PathfinderGoalAvoidTarget(EntityCreature var1, Class<T> var2, Predicate<? super T> var3, float var4, double var5, double var7) {
|
||||||
|
this.c = new Predicate<Entity>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean apply(@Nullable Entity entity) {
|
||||||
|
if(entity == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return a(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean a(Entity var1) {
|
||||||
|
return var1.isAlive() && PathfinderGoalAvoidTarget.this.a.getEntitySenses().a(var1);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.a = var1;
|
||||||
|
this.i = var2;
|
||||||
|
this.j = var3;
|
||||||
|
this.f = var4;
|
||||||
|
this.d = var5;
|
||||||
|
this.e = var7;
|
||||||
|
this.h = var1.getNavigation();
|
||||||
|
this.a(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean a() {
|
||||||
|
List var1 = this.a.world.a(this.i, this.a.getBoundingBox().grow(this.f, 3.0, this.f), Predicates.and(new Predicate[]{IEntitySelector.d, this.c, this.j}));
|
||||||
|
if (var1.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
this.b = (T) var1.get(0);
|
||||||
|
Vec3D var2 = RandomPositionGenerator.b(this.a, 16, 7, new Vec3D(this.b.locX, this.b.locY, this.b.locZ));
|
||||||
|
if (var2 == null) {
|
||||||
|
return false;
|
||||||
|
} else if (this.b.e(var2.a, var2.b, var2.c) < this.b.h(this.a)) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
this.g = this.h.a(var2.a, var2.b, var2.c);
|
||||||
|
if (this.g == null) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return this.g.b(var2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean b() {
|
||||||
|
return !this.h.m();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void c() {
|
||||||
|
this.h.a(this.g, this.d);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void d() {
|
||||||
|
this.b = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void e() {
|
||||||
|
if (this.a.h(this.b) < 49.0) {
|
||||||
|
this.a.getNavigation().a(this.e);
|
||||||
|
} else {
|
||||||
|
this.a.getNavigation().a(this.d);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue