use of net.minecraft.server.v1_15_R1.BlockPosition in project Citizens2 by CitizensDev.
the class PlayerPathfinder method a.
public PathEntity a(ChunkCache var0, EntityHumanNPC var1, Set<BlockPosition> var2, float var3, int var4, float var5) {
this.a.a();
this.e.a(var0, var1);
PathPoint var6 = this.e.b();
Map<PathDestination, BlockPosition> var7 = var2.stream().collect(Collectors.toMap((var0x) -> {
return this.e.a((double) var0x.getX(), (double) var0x.getY(), (double) var0x.getZ());
}, Function.identity()));
PathEntity var8 = this.a(var6, var7, var3, var4, var5);
this.e.a();
return var8;
}
use of net.minecraft.server.v1_15_R1.BlockPosition in project Citizens2 by CitizensDev.
the class PlayerPathfinder method a.
@Override
public PathEntity a(ChunkCache var0, EntityInsentient var1, Set<BlockPosition> var2, float var3, int var4, float var5) {
this.a.a();
this.e.a(var0, var1);
PathPoint var6 = this.e.b();
Map<PathDestination, BlockPosition> var7 = var2.stream().collect(Collectors.toMap((var0x) -> {
return this.e.a((double) var0x.getX(), (double) var0x.getY(), (double) var0x.getZ());
}, Function.identity()));
PathEntity var8 = this.a(var6, var7, var3, var4, var5);
this.e.a();
return var8;
}
use of net.minecraft.server.v1_15_R1.BlockPosition in project Citizens2 by CitizensDev.
the class PlayerNavigation method c.
@Override
public void c() {
++this.e;
if (this.m) {
this.j();
}
if (!this.m()) {
Vec3D var0;
if (this.a()) {
this.l();
} else if (this.c != null && this.c.f() < this.c.e()) {
var0 = this.b();
Vec3D var1 = this.c.a(this.a, this.c.f());
if (var0.y > var1.y && !this.a.onGround && MathHelper.floor(var0.x) == MathHelper.floor(var1.x) && MathHelper.floor(var0.z) == MathHelper.floor(var1.z)) {
this.c.c(this.c.f() + 1);
}
}
if (!this.m()) {
var0 = this.c.a(this.a);
BlockPosition var1 = new BlockPosition(var0);
this.a.getControllerMove().a(var0.x, this.b.getType(var1.down()).isAir() ? var0.y : PathfinderNormal.a(this.b, var1), var0.z, this.d);
}
}
}
use of net.minecraft.server.v1_15_R1.BlockPosition in project Citizens2 by CitizensDev.
the class PlayerNavigation method b.
@Override
public void b(BlockPosition var0) {
if (this.c != null && !this.c.b() && this.c.e() != 0) {
PathPoint var1 = this.c.c();
Vec3D var2 = new Vec3D((var1.a + this.a.locX()) / 2.0D, (var1.b + this.a.locY()) / 2.0D, (var1.c + this.a.locZ()) / 2.0D);
if (var0.a(var2, this.c.e() - this.c.f())) {
this.j();
}
}
}
use of net.minecraft.server.v1_15_R1.BlockPosition in project Citizens2 by CitizensDev.
the class PlayerPathfinderNormal method b.
public static PathType b(IBlockAccess var0, int var1, int var2, int var3) {
PathType var4 = c(var0, var1, var2, var3);
if (var4 == PathType.OPEN && var2 >= 1) {
Block var5 = var0.getType(new BlockPosition(var1, var2 - 1, var3)).getBlock();
PathType var6 = c(var0, var1, var2 - 1, var3);
var4 = var6 != PathType.WALKABLE && var6 != PathType.OPEN && var6 != PathType.WATER && var6 != PathType.LAVA ? PathType.WALKABLE : PathType.OPEN;
if (var6 == PathType.DAMAGE_FIRE || var5 == Blocks.MAGMA_BLOCK || var5 == Blocks.CAMPFIRE) {
var4 = PathType.DAMAGE_FIRE;
}
if (var6 == PathType.DAMAGE_CACTUS) {
var4 = PathType.DAMAGE_CACTUS;
}
if (var6 == PathType.DAMAGE_OTHER) {
var4 = PathType.DAMAGE_OTHER;
}
if (var6 == PathType.STICKY_HONEY) {
var4 = PathType.STICKY_HONEY;
}
}
if (var4 == PathType.WALKABLE) {
var4 = a(var0, var1, var2, var3, var4);
}
return var4;
}
Aggregations