From 9126c9d2950280987ed45d40f4ab0ed1542c35e9 Mon Sep 17 00:00:00 2001 From: ImHacking Date: Thu, 23 Jun 2022 16:48:52 -0400 Subject: [PATCH] Fixed error --- .../server/PathfinderGoalAvoidTarget.java | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 TacoSpigot-Server/src/main/java/net/minecraft/server/PathfinderGoalAvoidTarget.java diff --git a/TacoSpigot-Server/src/main/java/net/minecraft/server/PathfinderGoalAvoidTarget.java b/TacoSpigot-Server/src/main/java/net/minecraft/server/PathfinderGoalAvoidTarget.java new file mode 100644 index 0000000..b635097 --- /dev/null +++ b/TacoSpigot-Server/src/main/java/net/minecraft/server/PathfinderGoalAvoidTarget.java @@ -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 extends PathfinderGoal { + private final Predicate c; + protected EntityCreature a; + private double d; + private double e; + protected T b; + private float f; + private PathEntity g; + private NavigationAbstract h; + private Class i; + private Predicate j; + + public PathfinderGoalAvoidTarget(EntityCreature var1, Class var2, float var3, double var4, double var6) { + this(var1, var2, Predicates.alwaysTrue(), var3, var4, var6); + } + + public PathfinderGoalAvoidTarget(EntityCreature var1, Class var2, Predicate var3, float var4, double var5, double var7) { + this.c = new Predicate() { + + @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); + } + + } +} \ No newline at end of file