Search in sources :

Example 36 with AxisAlignedBB

use of net.minecraft.server.v1_9_R1.AxisAlignedBB in project Citizens2 by CitizensDev.

the class PlayerNavigation method k.

@Override
public void k() {
    this.f += 1;
    if (m()) {
        return;
    }
    if (b()) {
        l();
    } else if ((this.d != null) && (this.d.e() < this.d.d())) {
        Vec3D localVec3D = c();
        Vec3D localObject = this.d.a(this.b, this.d.e());
        if ((localVec3D.b > localObject.b) && (!this.b.onGround) && (MathHelper.floor(localVec3D.a) == MathHelper.floor(localObject.a)) && (MathHelper.floor(localVec3D.c) == MathHelper.floor(localObject.c))) {
            this.d.c(this.d.e() + 1);
        }
    }
    if (m()) {
        return;
    }
    Vec3D localVec3D = this.d.a(this.b);
    if (localVec3D == null) {
        return;
    }
    Object localObject = new AxisAlignedBB(localVec3D.a, localVec3D.b, localVec3D.c, localVec3D.a, localVec3D.b, localVec3D.c).grow(0.5D, 0.5D, 0.5D);
    List<AxisAlignedBB> localList = this.c.getCubes(this.b, ((AxisAlignedBB) localObject).a(0.0D, -1.0D, 0.0D));
    double d1 = -1.0D;
    localObject = ((AxisAlignedBB) localObject).c(0.0D, 1.0D, 0.0D);
    for (AxisAlignedBB localAxisAlignedBB : localList) {
        d1 = localAxisAlignedBB.b((AxisAlignedBB) localObject, d1);
    }
    this.b.getControllerMove().a(localVec3D.a, localVec3D.b + d1, localVec3D.c, this.e);
}
Also used : AxisAlignedBB(net.minecraft.server.v1_8_R3.AxisAlignedBB) Vec3D(net.minecraft.server.v1_8_R3.Vec3D)

Example 37 with AxisAlignedBB

use of net.minecraft.server.v1_9_R1.AxisAlignedBB in project Citizens2 by CitizensDev.

the class NMSImpl method setSize.

public static void setSize(Entity entity, float f, float f1, boolean justCreated) {
    if ((f != entity.width) || (f1 != entity.length)) {
        float f2 = entity.width;
        entity.width = f;
        entity.length = f1;
        entity.a(new AxisAlignedBB(entity.getBoundingBox().a, entity.getBoundingBox().b, entity.getBoundingBox().c, entity.getBoundingBox().a + entity.width, entity.getBoundingBox().b + entity.length, entity.getBoundingBox().c + entity.width));
        if ((entity.width > f2) && (!justCreated) && (!entity.world.isClientSide))
            entity.move(EnumMoveType.SELF, (f2 - entity.width) / 2, 0.0D, (f2 - entity.width) / 2);
    }
}
Also used : AxisAlignedBB(net.minecraft.server.v1_11_R1.AxisAlignedBB)

Example 38 with AxisAlignedBB

use of net.minecraft.server.v1_9_R1.AxisAlignedBB in project Citizens2 by CitizensDev.

the class PlayerNavigation method l.

@Override
public void l() {
    this.g += 1;
    if (this.o) {
        j();
    }
    if (n()) {
        return;
    }
    if (b()) {
        m();
    } else if ((this.c != null) && (this.c.e() < this.c.d())) {
        Vec3D localVec3D = c();
        Vec3D localObject = this.c.a(this.a, this.c.e());
        if ((localVec3D.y > localObject.y) && (!this.a.onGround) && (MathHelper.floor(localVec3D.x) == MathHelper.floor(localObject.x)) && (MathHelper.floor(localVec3D.z) == MathHelper.floor(localObject.z))) {
            this.c.c(this.c.e() + 1);
        }
    }
    if (n()) {
        return;
    }
    Vec3D localVec3D = this.c.a(this.a);
    if (localVec3D == null) {
        return;
    }
    Object localObject = new BlockPosition(localVec3D).down();
    AxisAlignedBB localAxisAlignedBB = this.b.getType((BlockPosition) localObject).d(this.b, (BlockPosition) localObject);
    localVec3D = localVec3D.a(0.0D, 1.0D - localAxisAlignedBB.e, 0.0D);
    this.a.getControllerMove().a(localVec3D.x, localVec3D.y, localVec3D.z, this.d);
}
Also used : AxisAlignedBB(net.minecraft.server.v1_11_R1.AxisAlignedBB) BlockPosition(net.minecraft.server.v1_11_R1.BlockPosition) Vec3D(net.minecraft.server.v1_11_R1.Vec3D)

Example 39 with AxisAlignedBB

use of net.minecraft.server.v1_9_R1.AxisAlignedBB in project Citizens2 by CitizensDev.

the class NMSImpl method setSize.

public static void setSize(Entity entity, float f, float f1, boolean justCreated) {
    if ((f != entity.width) || (f1 != entity.length)) {
        float f2 = entity.width;
        entity.width = f;
        entity.length = f1;
        entity.a(new AxisAlignedBB(entity.getBoundingBox().a, entity.getBoundingBox().b, entity.getBoundingBox().c, entity.getBoundingBox().a + entity.width, entity.getBoundingBox().b + entity.length, entity.getBoundingBox().c + entity.width));
        if ((entity.width > f2) && (!justCreated) && (!entity.world.isClientSide))
            entity.move(EnumMoveType.SELF, (f2 - entity.width) / 2, 0.0D, (f2 - entity.width) / 2);
    }
}
Also used : AxisAlignedBB(net.minecraft.server.v1_12_R1.AxisAlignedBB)

Example 40 with AxisAlignedBB

use of net.minecraft.server.v1_9_R1.AxisAlignedBB in project Citizens2 by CitizensDev.

the class PlayerNavigation method d.

@Override
public void d() {
    this.e += 1;
    if (this.g) {
        k();
    }
    if (o()) {
        return;
    }
    if (b()) {
        n();
    } else if ((this.c != null) && (this.c.e() < this.c.d())) {
        Vec3D localVec3D = c();
        Vec3D localObject = this.c.a(this.a, this.c.e());
        if ((localVec3D.y > localObject.y) && (!this.a.onGround) && (MathHelper.floor(localVec3D.x) == MathHelper.floor(localObject.x)) && (MathHelper.floor(localVec3D.z) == MathHelper.floor(localObject.z))) {
            this.c.c(this.c.e() + 1);
        }
    }
    m();
    if (o()) {
        return;
    }
    Vec3D localVec3D = this.c.a(this.a);
    Object localObject = new BlockPosition(localVec3D).down();
    AxisAlignedBB localAxisAlignedBB = this.b.getType((BlockPosition) localObject).e(this.b, (BlockPosition) localObject);
    localVec3D = localVec3D.a(0.0D, 1.0D - localAxisAlignedBB.e, 0.0D);
    this.a.getControllerMove().a(localVec3D.x, localVec3D.y, localVec3D.z, this.d);
}
Also used : AxisAlignedBB(net.minecraft.server.v1_12_R1.AxisAlignedBB) BlockPosition(net.minecraft.server.v1_12_R1.BlockPosition) Vec3D(net.minecraft.server.v1_12_R1.Vec3D)

Aggregations

Iterator (java.util.Iterator)21 List (java.util.List)21 Entity (org.bukkit.entity.Entity)21 AxisAlignedBB (net.minecraft.server.v1_10_R1.AxisAlignedBB)9 LivingEntity (org.bukkit.entity.LivingEntity)8 AxisAlignedBB (net.minecraft.server.v1_11_R1.AxisAlignedBB)7 AxisAlignedBB (net.minecraft.server.v1_12_R1.AxisAlignedBB)7 BlockPosition (net.minecraft.server.v1_10_R1.BlockPosition)5 AxisAlignedBB (net.minecraft.server.v1_8_R3.AxisAlignedBB)4 MutableBlockPosition (net.minecraft.server.v1_10_R1.BlockPosition.MutableBlockPosition)3 PathPoint (net.minecraft.server.v1_10_R1.PathPoint)3 PathType (net.minecraft.server.v1_10_R1.PathType)3 BlockPosition (net.minecraft.server.v1_11_R1.BlockPosition)3 BlockPosition (net.minecraft.server.v1_12_R1.BlockPosition)3 AxisAlignedBB (net.minecraft.server.v1_9_R1.AxisAlignedBB)3 AxisAlignedBB (net.minecraft.server.v1_9_R2.AxisAlignedBB)3 BlockMinecartTrackAbstract (net.minecraft.server.v1_10_R1.BlockMinecartTrackAbstract)2 AxisAlignedBB (net.minecraft.server.v1_4_5.AxisAlignedBB)2 AxisAlignedBB (net.minecraft.server.v1_4_6.AxisAlignedBB)2 AxisAlignedBB (net.minecraft.server.v1_4_R1.AxisAlignedBB)2