Search in sources :

Example 91 with BlockPosition

use of net.minecraft.server.v1_13_R2.BlockPosition in project Citizens2 by CitizensDev.

the class PlayerPathfinder method a.

public PathEntity a(IWorldReader var0, EntityHumanNPC var1, Set<BlockPosition> var2, float var3, int var4) {
    this.a.a();
    this.e.a(var0, var1);
    PathPoint var5 = this.e.b();
    Map var6 = var2.stream().collect(Collectors.toMap((var0x) -> {
        return this.e.a((double) var0x.getX(), (double) var0x.getY(), (double) var0x.getZ());
    }, Function.identity()));
    PathEntity var7 = this.a(var5, var6, var3, var4);
    this.e.a();
    return var7;
}
Also used : PathEntity(net.minecraft.server.v1_14_R1.PathEntity) BlockPosition(net.minecraft.server.v1_14_R1.BlockPosition) Iterator(java.util.Iterator) Path(net.minecraft.server.v1_14_R1.Path) Pathfinder(net.minecraft.server.v1_14_R1.Pathfinder) Set(java.util.Set) Setting(net.citizensnpcs.Settings.Setting) Function(java.util.function.Function) Collectors(java.util.stream.Collectors) Sets(com.google.common.collect.Sets) EntityHumanNPC(net.citizensnpcs.nms.v1_14_R1.entity.EntityHumanNPC) List(java.util.List) Stream(java.util.stream.Stream) Lists(com.google.common.collect.Lists) PathDestination(net.minecraft.server.v1_14_R1.PathDestination) Map(java.util.Map) Optional(java.util.Optional) EntityInsentient(net.minecraft.server.v1_14_R1.EntityInsentient) Comparator(java.util.Comparator) IWorldReader(net.minecraft.server.v1_14_R1.IWorldReader) PathPoint(net.minecraft.server.v1_14_R1.PathPoint) PathPoint(net.minecraft.server.v1_14_R1.PathPoint) PathEntity(net.minecraft.server.v1_14_R1.PathEntity) Map(java.util.Map)

Example 92 with BlockPosition

use of net.minecraft.server.v1_13_R2.BlockPosition in project Citizens2 by CitizensDev.

the class PlayerPathfinderNormal method a.

public static double a(IBlockAccess var0, BlockPosition var1) {
    BlockPosition var2 = var1.down();
    VoxelShape var3 = var0.getType(var2).getCollisionShape(var0, var2);
    return var2.getY() + (var3.isEmpty() ? 0.0D : var3.c(EnumAxis.Y));
}
Also used : VoxelShape(net.minecraft.server.v1_14_R1.VoxelShape) BlockPosition(net.minecraft.server.v1_14_R1.BlockPosition) MutableBlockPosition(net.minecraft.server.v1_14_R1.BlockPosition.MutableBlockPosition) PooledBlockPosition(net.minecraft.server.v1_14_R1.BlockPosition.PooledBlockPosition)

Example 93 with BlockPosition

use of net.minecraft.server.v1_13_R2.BlockPosition in project Citizens2 by CitizensDev.

the class PlayerPathfinderNormal method b.

@Override
public PathPoint b() {
    int var0;
    BlockPosition var1;
    if (this.e() && this.b.isInWater()) {
        var0 = MathHelper.floor(this.b.getBoundingBox().minY);
        var1 = new MutableBlockPosition(this.b.locX, var0, this.b.locZ);
        for (IBlockData var2 = this.a.getType(var1); var2.getBlock() == Blocks.WATER || var2.p() == FluidTypes.WATER.a(false); var2 = this.a.getType(var1)) {
            ++var0;
            ((MutableBlockPosition) var1).c(this.b.locX, var0, this.b.locZ);
        }
        --var0;
    } else if (this.b.onGround) {
        var0 = MathHelper.floor(this.b.getBoundingBox().minY + 0.5D);
    } else {
        for (var1 = new BlockPosition(this.b); (this.a.getType(var1).isAir() || this.a.getType(var1).a(this.a, var1, PathMode.LAND)) && var1.getY() > 0; var1 = var1.down()) {
        }
        var0 = var1.up().getY();
    }
    var1 = new BlockPosition(this.b);
    PathType var2 = this.a(this.b, var1.getX(), var0, var1.getZ());
    if (this.b.a(var2) < 0.0F) {
        Set var3 = Sets.newHashSet();
        var3.add(new BlockPosition(this.b.getBoundingBox().minX, var0, this.b.getBoundingBox().minZ));
        var3.add(new BlockPosition(this.b.getBoundingBox().minX, var0, this.b.getBoundingBox().maxZ));
        var3.add(new BlockPosition(this.b.getBoundingBox().maxX, var0, this.b.getBoundingBox().minZ));
        var3.add(new BlockPosition(this.b.getBoundingBox().maxX, var0, this.b.getBoundingBox().maxZ));
        Iterator var5 = var3.iterator();
        while (var5.hasNext()) {
            BlockPosition var4 = (BlockPosition) var5.next();
            PathType var6 = this.a(this.b, var4);
            if (this.b.a(var6) >= 0.0F) {
                return this.a(var4.getX(), var4.getY(), var4.getZ());
            }
        }
    }
    return this.a(var1.getX(), var0, var1.getZ());
}
Also used : PathType(net.minecraft.server.v1_14_R1.PathType) IBlockData(net.minecraft.server.v1_14_R1.IBlockData) EnumSet(java.util.EnumSet) Set(java.util.Set) BlockPosition(net.minecraft.server.v1_14_R1.BlockPosition) MutableBlockPosition(net.minecraft.server.v1_14_R1.BlockPosition.MutableBlockPosition) PooledBlockPosition(net.minecraft.server.v1_14_R1.BlockPosition.PooledBlockPosition) Iterator(java.util.Iterator) MutableBlockPosition(net.minecraft.server.v1_14_R1.BlockPosition.MutableBlockPosition) PathPoint(net.minecraft.server.v1_14_R1.PathPoint)

Example 94 with BlockPosition

use of net.minecraft.server.v1_13_R2.BlockPosition in project Citizens2 by CitizensDev.

the class PlayerPathfinderNormal method a.

@Override
public PathType a(IBlockAccess var0, int var1, int var2, int var3, EntityInsentient var4, int var5, int var6, int var7, boolean var8, boolean var9) {
    EnumSet var10 = EnumSet.noneOf(PathType.class);
    PathType var11 = PathType.BLOCKED;
    double var12 = var4.getWidth() / 2.0D;
    BlockPosition var14 = new BlockPosition(var4);
    var11 = this.a(var0, var1, var2, var3, var5, var6, var7, var8, var9, var10, var11, var14);
    if (var10.contains(PathType.FENCE)) {
        return PathType.FENCE;
    } else {
        PathType var15 = PathType.BLOCKED;
        Iterator var17 = var10.iterator();
        while (var17.hasNext()) {
            PathType var16 = (PathType) var17.next();
            if (var4.a(var16) < 0.0F) {
                return var16;
            }
            if (var4.a(var16) >= var4.a(var15)) {
                var15 = var16;
            }
        }
        if (var11 == PathType.OPEN && var4.a(var15) == 0.0F) {
            return PathType.OPEN;
        } else {
            return var15;
        }
    }
}
Also used : PathType(net.minecraft.server.v1_14_R1.PathType) EnumSet(java.util.EnumSet) BlockPosition(net.minecraft.server.v1_14_R1.BlockPosition) MutableBlockPosition(net.minecraft.server.v1_14_R1.BlockPosition.MutableBlockPosition) PooledBlockPosition(net.minecraft.server.v1_14_R1.BlockPosition.PooledBlockPosition) Iterator(java.util.Iterator)

Example 95 with BlockPosition

use of net.minecraft.server.v1_13_R2.BlockPosition in project Citizens2 by CitizensDev.

the class PlayerPathfinderNormal method a.

public PathType a(IBlockAccess var0, int var1, int var2, int var3, EntityHumanNPC var4, int var5, int var6, int var7, boolean var8, boolean var9) {
    EnumSet var10 = EnumSet.noneOf(PathType.class);
    PathType var11 = PathType.BLOCKED;
    double var12 = var4.getWidth() / 2.0D;
    BlockPosition var14 = new BlockPosition(var4);
    var11 = this.a(var0, var1, var2, var3, var5, var6, var7, var8, var9, var10, var11, var14);
    if (var10.contains(PathType.FENCE)) {
        return PathType.FENCE;
    } else {
        PathType var15 = PathType.BLOCKED;
        Iterator var17 = var10.iterator();
        while (var17.hasNext()) {
            PathType var16 = (PathType) var17.next();
            if (var4.a(var16) < 0.0F) {
                return var16;
            }
            if (var4.a(var16) >= var4.a(var15)) {
                var15 = var16;
            }
        }
        if (var11 == PathType.OPEN && var4.a(var15) == 0.0F) {
            return PathType.OPEN;
        } else {
            return var15;
        }
    }
}
Also used : PathType(net.minecraft.server.v1_14_R1.PathType) EnumSet(java.util.EnumSet) BlockPosition(net.minecraft.server.v1_14_R1.BlockPosition) MutableBlockPosition(net.minecraft.server.v1_14_R1.BlockPosition.MutableBlockPosition) PooledBlockPosition(net.minecraft.server.v1_14_R1.BlockPosition.PooledBlockPosition) Iterator(java.util.Iterator)

Aggregations

BlockPosition (net.minecraft.server.v1_12_R1.BlockPosition)39 BlockPosition (net.minecraft.server.v1_16_R3.BlockPosition)36 BlockPosition (net.minecraft.server.v1_8_R3.BlockPosition)34 Location (org.bukkit.Location)31 BlockPosition (net.minecraft.server.v1_10_R1.BlockPosition)30 BlockPosition (net.minecraft.server.v1_11_R1.BlockPosition)30 BlockPosition (net.minecraft.server.v1_15_R1.BlockPosition)26 BlockPosition (net.minecraft.server.v1_14_R1.BlockPosition)24 Chunk (org.bukkit.Chunk)23 ArrayList (java.util.ArrayList)22 List (java.util.List)19 CraftWorld (org.bukkit.craftbukkit.v1_12_R1.CraftWorld)18 Map (java.util.Map)17 CraftWorld (org.bukkit.craftbukkit.v1_8_R3.CraftWorld)17 CraftWorld (org.bukkit.craftbukkit.v1_16_R3.CraftWorld)16 Iterator (java.util.Iterator)14 HashMap (java.util.HashMap)12 BlockPosition (net.minecraft.server.v1_13_R2.BlockPosition)10 ComplexCollisionBox (cc.funkemunky.api.utils.world.types.ComplexCollisionBox)9 IBlockData (net.minecraft.server.v1_16_R3.IBlockData)9