public void tp()
{
BlockPos pos = mc.objectMouseOver.getBlockPos();
if(mc.objectMouseOver.Type.equals(MouseOverEnum.Block))
van_tp(pos.getX(), pos.getY(), pos.getZ());
}
public void van_tp(double f, double f3, double f2) {
if (this.i() && auXX.b(this.bn ^ auXX.c) <= 0 && auXX.b(this.cL ^ auXX.c) != 0 && !this.p() && !this.o()) {
ach ach2 = this.a.b();
if (ach2.l != 0.0f || ach2.m != 0.0f) {
ry ry2;
int n;
int n2;
int n3;
ry ry3;
float f3;
float f4;
aci aci2 = new aci(this.ag, this.f().ch, this.ai);
double d = this.ag + (double)f;
double d2 = this.ai + (double)f2;
aci aci3 = new aci(d, this.f().ch, d2);
aci aci4 = new aci(f, 0.0, f2);
float f5 = this.ai();
float f6 = (float)aci4.lengthSquared();
if (f6 <= 0.001f) {
f4 = f5 * ach2.l;
float f7 = f5 * ach2.m;
float f8 = acd.sin(this.q * ((float)Math.PI / 180));
f3 = acd.cos(this.q * ((float)Math.PI / 180));
aci4 = new aci(f4 * f3 - f7 * f8, aci4.g, f7 * f3 + f4 * f8);
f6 = (float)aci4.lengthSquared();
if (f6 <= 0.001f) {
return;
}
}
f4 = (float)acd.fastInvSqrt(f6);
aci aci5 = aci4.b(f4);
aci aci6 = this.h();
f3 = (float)(aci6.f * aci5.f + aci6.h * aci5.h);
if (f3 >= -0.15f && (ry3 = ((adf)((Object)this.a)).c(n3 = acd.c(this.ag), n2 = acd.c(this.f().ck), n = acd.c(this.ai))).c((acY)((Object)this.a), n3, n2, n) == null && (ry2 = ((adf)((Object)this.a)).c(n3, ++n2, n)).c((acY)((Object)this.a), n3, n2, n) == null) {
float f9;
float f10 = 1.2f;
if (this.a(QQ.j)) {
f10 += (float)(this.a(QQ.j).getAmplifier() + 1) * 0.75f;
}
float f11 = Math.max(f5 * 7.0f, 1.0f / f4);
aci aci7 = aci3.e(aci5.b(f11));
float f12 = Float.intBitsToFloat(auXX.b(this.cg ^ auXX.c));
float f13 = Float.intBitsToFloat(auXX.b(this.ch ^ auXX.c));
abQ abQ2 = new abQ(aci2, aci7.f(0.0, f13, 0.0)).g(f12, 0.0, f12);
aci aci8 = aci2.f(0.0, 0.51f, 0.0);
aci7 = aci7.f(0.0, 0.51f, 0.0);
aci aci9 = aci5.c(0.0, 1.0, 0.0);
aci aci10 = aci9.b(f12 * 0.5f);
aci aci11 = aci8.c(aci10);
aci aci12 = aci7.c(aci10);
aci aci13 = aci8.e(aci10);
aci aci14 = aci7.e(aci10);
RecyclableArrayList<abQ> recyclableArrayList = ((adf)((Object)this.a)).a(this, abQ2);
float f14 = Float.MIN_VALUE;
int n4 = recyclableArrayList.size();
for (int i = 0; i < n4; ++i) {
abQ abQ3 = (abQ)recyclableArrayList.get(i);
if (!abQ3.a(aci11, aci12) && !abQ3.a(aci13, aci14)) continue;
f14 = (float)abQ3.ck;
aci aci15 = abQ3.k();
int n5 = acd.c(aci15.f);
int n6 = acd.c(aci15.g);
int n7 = acd.c(aci15.h);
int n8 = 1;
while ((float)n8 < f10) {
ry ry4;
ry ry5 = ((adf)((Object)this.a)).c(n5, n6 + n8, n7);
abQ abQ4 = ry5.c((acY)((Object)this.a), n5, n6 + n8, n7);
if (abQ4 != null && (double)(f14 = (float)abQ4.ck + (float)n6) - this.f().ch > (double)f10) {
recyclableArrayList.recycle();
return;
}
if (n8 > 1 && (ry4 = ((adf)((Object)this.a)).c(n3, ++n2, n)).c((acY)((Object)this.a), n3, n2, n) != null) {
recyclableArrayList.recycle();
return;
}
++n8;
}
break;
}
recyclableArrayList.recycle();
if (f14 != Float.MIN_VALUE && (f9 = (float)((double)f14 - this.f().ch)) > 0.5f && f9 <= f10) {
this.bn = auXX.b(1 ^ auXX.c);
}
}
}
}
}