Search in sources :

Example 36 with Vec3D

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

the class PlayerNavigation method l.

@Override
public void l() {
    this.h += 1;
    if (this.p) {
        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).c(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_10_R1.AxisAlignedBB) BlockPosition(net.minecraft.server.v1_10_R1.BlockPosition) Vec3D(net.minecraft.server.v1_10_R1.Vec3D)

Example 37 with Vec3D

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

the class PlayerNavigation method a.

@Override
public boolean a(PathEntity paramPathEntity, double paramDouble) {
    if (paramPathEntity == null) {
        this.c = null;
        return false;
    }
    if (!paramPathEntity.a(this.c)) {
        this.c = paramPathEntity;
    }
    d();
    if (this.c.d() == 0) {
        return false;
    }
    this.d = paramDouble;
    Vec3D localVec3D = c();
    this.i = this.h;
    this.j = localVec3D;
    return true;
}
Also used : Vec3D(net.minecraft.server.v1_10_R1.Vec3D)

Example 38 with Vec3D

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

the class PlayerNavigation method m.

@Override
protected void m() {
    Vec3D localVec3D1 = c();
    int i1 = this.c.d();
    for (int i2 = this.c.e(); i2 < this.c.d(); i2++) {
        if (this.c.a(i2).b != Math.floor(localVec3D1.y)) {
            i1 = i2;
            break;
        }
    }
    this.o = (this.a.width > 0.75F ? this.a.width / 2.0F : 0.75F - this.a.width / 2.0F);
    Vec3D localVec3D2 = this.c.f();
    if ((MathHelper.e((float) (this.a.locX - (localVec3D2.x + 0.5D))) < this.o) && (MathHelper.e((float) (this.a.locZ - (localVec3D2.z + 0.5D))) < this.o)) {
        this.c.c(this.c.e() + 1);
    }
    int i3 = MathHelper.f(this.a.width);
    int i4 = (int) this.a.length + 1;
    int i5 = i3;
    for (int i6 = i1 - 1; i6 >= this.c.e(); i6--) {
        if (a(localVec3D1, this.c.a(this.a, i6), i3, i4, i5)) {
            this.c.c(i6);
            break;
        }
    }
    a(localVec3D1);
}
Also used : Vec3D(net.minecraft.server.v1_10_R1.Vec3D) PathPoint(net.minecraft.server.v1_10_R1.PathPoint)

Example 39 with Vec3D

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

the class NMSImpl method setSize.

public static void setSize(Entity entity, boolean justCreated) {
    try {
        EntitySize entitysize = (EntitySize) SIZE_FIELD_GETTER.invoke(entity);
        EntityPose entitypose = entity.getPose();
        EntitySize entitysize1 = entity.a(entitypose);
        SIZE_FIELD_SETTER.invoke(entity, entitysize1);
        HEAD_HEIGHT.invoke(entity, HEAD_HEIGHT_METHOD.invoke(entity, entitypose, entitysize1));
        if (entitysize1.width < entitysize.width && false) /* TODO: PREVIOUS CITIZENS ADDITION ?reason */
        {
            double d0 = entitysize1.width / 2.0D;
            entity.a(new AxisAlignedBB(entity.locX - d0, entity.locY, entity.locZ - d0, entity.locX + d0, entity.locY + entitysize1.height, entity.locZ + d0));
        } else {
            AxisAlignedBB axisalignedbb = entity.getBoundingBox();
            entity.a(new AxisAlignedBB(axisalignedbb.minX, axisalignedbb.minY, axisalignedbb.minZ, axisalignedbb.minX + entitysize1.width, axisalignedbb.minY + entitysize1.height, axisalignedbb.minZ + entitysize1.width));
            if (entitysize1.width > entitysize.width && !justCreated && !entity.world.isClientSide) {
                float f = entitysize.width - entitysize1.width;
                entity.move(EnumMoveType.SELF, new Vec3D(f, 0.0D, f));
            }
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
}
Also used : AxisAlignedBB(net.minecraft.server.v1_14_R1.AxisAlignedBB) EntitySize(net.minecraft.server.v1_14_R1.EntitySize) Vec3D(net.minecraft.server.v1_14_R1.Vec3D) EntityPose(net.minecraft.server.v1_14_R1.EntityPose)

Example 40 with Vec3D

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

the class PlayerNavigation method c.

@Override
public void c() {
    ++this.e;
    if (this.m) {
        this.k();
    }
    if (!this.n()) {
        Vec3D var0;
        if (this.a()) {
            this.m();
        } 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.n()) {
            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);
        }
    }
}
Also used : BlockPosition(net.minecraft.server.v1_14_R1.BlockPosition) Vec3D(net.minecraft.server.v1_14_R1.Vec3D)

Aggregations

Vec3D (net.minecraft.server.v1_16_R3.Vec3D)15 Vec3D (net.minecraft.server.v1_15_R1.Vec3D)10 Vec3D (net.minecraft.server.v1_14_R1.Vec3D)9 Vec3D (net.minecraft.server.v1_12_R1.Vec3D)8 Vec3D (net.minecraft.server.v1_10_R1.Vec3D)5 Vec3D (net.minecraft.server.v1_11_R1.Vec3D)5 Vec3D (net.minecraft.server.v1_8_R3.Vec3D)5 Gravity (net.citizensnpcs.trait.Gravity)3 BlockPosition (net.minecraft.server.v1_10_R1.BlockPosition)2 EntityLiving (net.minecraft.server.v1_16_R2.EntityLiving)2 RayTrace (net.minecraft.server.v1_16_R2.RayTrace)2 Vec3D (net.minecraft.server.v1_16_R2.Vec3D)2 AxisAlignedBB (net.minecraft.server.v1_16_R3.AxisAlignedBB)2 BaseBlockPosition (net.minecraft.server.v1_16_R3.BaseBlockPosition)2 BlockPosition (net.minecraft.server.v1_16_R3.BlockPosition)2 EntityLiving (net.minecraft.server.v1_16_R3.EntityLiving)2 PathPoint (net.minecraft.server.v1_16_R3.PathPoint)2 RayTrace (net.minecraft.server.v1_16_R3.RayTrace)2 AxisAlignedBB (net.minecraft.server.v1_8_R3.AxisAlignedBB)2 CraftLivingEntity (org.bukkit.craftbukkit.v1_16_R2.entity.CraftLivingEntity)2