use of net.minecraft.server.v1_10_R1.Vec3D 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);
}
use of net.minecraft.server.v1_10_R1.Vec3D 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);
}
use of net.minecraft.server.v1_10_R1.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.n = (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.n) && (MathHelper.e((float) (this.a.locZ - (localVec3D2.z + 0.5D))) < this.n) && (Math.abs(this.a.locY - localVec3D2.y) < 1.0D)) {
this.c.c(this.c.e() + 1);
}
int i3 = MathHelper.f(this.a.width);
int i4 = MathHelper.f(this.a.length);
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);
}
use of net.minecraft.server.v1_10_R1.Vec3D in project Citizens2 by CitizensDev.
the class PlayerNavigation method a.
@Override
protected void a(Vec3D paramVec3D) {
if (this.g - this.h > 100) {
if (paramVec3D.distanceSquared(this.i) < 2.25D) {
o();
}
this.h = this.g;
this.i = paramVec3D;
}
if ((this.c != null) && (!this.c.b())) {
Vec3D localVec3D = this.c.f();
if (localVec3D.equals(this.j)) {
this.k += System.currentTimeMillis() - this.l;
} else {
this.j = localVec3D;
double d1 = paramVec3D.f(this.j);
this.m = (this.a.cq() > 0.0F ? d1 / this.a.cq() * 1000.0D : 0.0D);
}
if ((this.m > 0.0D) && (this.k > this.m * 3.0D)) {
this.j = Vec3D.a;
this.k = 0L;
this.m = 0.0D;
o();
}
this.l = System.currentTimeMillis();
}
}
use of net.minecraft.server.v1_10_R1.Vec3D in project Citizens2 by CitizensDev.
the class PlayerNavigation method a.
@Override
protected void a(Vec3D paramVec3D) {
if (this.e - this.j > 100) {
if (paramVec3D.distanceSquared(this.k) < 2.25D) {
p();
}
this.j = this.e;
this.k = paramVec3D;
}
if ((this.c != null) && (!this.c.b())) {
Vec3D localVec3D = this.c.f();
if (localVec3D.equals(this.l)) {
this.m += System.currentTimeMillis() - this.n;
} else {
this.l = localVec3D;
double d1 = paramVec3D.f(this.l);
this.o = (this.a.cy() > 0.0F ? d1 / this.a.cy() * 1000.0D : 0.0D);
}
if ((this.o > 0.0D) && (this.m > this.o * 3.0D)) {
this.l = Vec3D.a;
this.m = 0L;
this.o = 0.0D;
p();
}
this.n = System.currentTimeMillis();
}
}
Aggregations