public void c(double d1, double d2, double d3) { if (T) { z.d(d1, d2, d3); p = (z.a + z.d) / 2D; q = (z.b + (double) H) - (double) R; r = (z.c + z.f) / 2D; return; } double d4 = p; double d5 = r; double d6 = d1; double d7 = d2; double d8 = d3; AxisAlignedBB axisalignedbb = z.b(); boolean flag = A && p(); if (flag) { double d9 = 0.050000000000000003D; for (; d1 != 0.0D && l.a(this, z.c(d1, -1D, 0.0D)).size() == 0; d6 = d1) { if (d1 < d9 && d1 >= -d9) { d1 = 0.0D; continue; } if (d1 > 0.0D) { d1 -= d9; } else { d1 += d9; } } for (; d3 != 0.0D && l.a(this, z.c(0.0D, -1D, d3)).size() == 0; d8 = d3) { if (d3 < d9 && d3 >= -d9) { d3 = 0.0D; continue; } if (d3 > 0.0D) { d3 -= d9; } else { d3 += d9; } } } List list = l.a(this, z.a(d1, d2, d3)); for (int i1 = 0; i1 < list.size(); i1++) { d2 = ((AxisAlignedBB) list.get(i1)).b(z, d2); } z.d(0.0D, d2, 0.0D); if (!F && d7 != d2) { d1 = d2 = d3 = 0.0D; } boolean flag1 = A || d7 != d2 && d7 < 0.0D; for (int j1 = 0; j1 < list.size(); j1++) { d1 = ((AxisAlignedBB) list.get(j1)).a(z, d1); } z.d(d1, 0.0D, 0.0D); if (!F && d6 != d1) { d1 = d2 = d3 = 0.0D; } for (int k1 = 0; k1 < list.size(); k1++) { d3 = ((AxisAlignedBB) list.get(k1)).c(z, d3); } z.d(0.0D, 0.0D, d3); if (!F && d8 != d3) { d1 = d2 = d3 = 0.0D; } if (S > 0.0F && flag1 && R < 0.05F && (d6 != d1 || d8 != d3)) { double d10 = d1; double d12 = d2; double d14 = d3; d1 = d6; d2 = S; d3 = d8; AxisAlignedBB axisalignedbb1 = z.b(); z.b(axisalignedbb); List list1 = l.a(this, z.a(d1, d2, d3)); for (int j2 = 0; j2 < list1.size(); j2++) { d2 = ((AxisAlignedBB) list1.get(j2)).b(z, d2); } z.d(0.0D, d2, 0.0D); if (!F && d7 != d2) { d1 = d2 = d3 = 0.0D; } for (int k2 = 0; k2 < list1.size(); k2++) { d1 = ((AxisAlignedBB) list1.get(k2)).a(z, d1); } z.d(d1, 0.0D, 0.0D); if (!F && d6 != d1) { d1 = d2 = d3 = 0.0D; } for (int l2 = 0; l2 < list1.size(); l2++) { d3 = ((AxisAlignedBB) list1.get(l2)).c(z, d3); } z.d(0.0D, 0.0D, d3); if (!F && d8 != d3) { d1 = d2 = d3 = 0.0D; } if (d10 * d10 + d14 * d14 >= d1 * d1 + d3 * d3) { d1 = d10; d2 = d12; d3 = d14; z.b(axisalignedbb1); } else { R += 0.5D; } } p = (z.a + z.d) / 2D; q = (z.b + (double) H) - (double) R; r = (z.c + z.f) / 2D; B = d6 != d1 || d8 != d3; C = d7 != d2; A = d7 != d2 && d7 < 0.0D; D = B || C; a(d2, A); if (d6 != d1) { s = 0.0D; } if (d7 != d2) { t = 0.0D; } if (d8 != d3) { u = 0.0D; } double d11 = p - d4; double d13 = r - d5; if (M && !flag) { L += (double) MathHelper.a(d11 * d11 + d13 * d13) * 0.59999999999999998D; int k3 = MathHelper.b(p); int i4 = MathHelper.b(q - 0.20000000298023224D - (double) H); int l1 = MathHelper.b(r); int i3 = l.a(k3, i4, l1); if (L > (float) b && i3 > 0) { b++; StepSound stepsound = Block.m[i3].bq; if (l.a(k3, i4 + 1, l1) == Block.aS.bh) { stepsound = Block.aS.bq; l.a(this, stepsound.c(), stepsound.a() * 0.15F, stepsound.b()); } else if (!Block.m[i3].bs.d()) { l.a(this, stepsound.c(), stepsound.a() * 0.15F, stepsound.b()); } Block.m[i3].b(l, k3, i4, l1, this); } } int l3 = MathHelper.b(z.a); int j4 = MathHelper.b(z.b); int i2 = MathHelper.b(z.c); int j3 = MathHelper.b(z.d); int k4 = MathHelper.b(z.e); int l4 = MathHelper.b(z.f); for (int i5 = l3; i5 <= j3; i5++) { for (int j5 = j4; j5 <= k4; j5++) { for (int k5 = i2; k5 <= l4; k5++) { int l5 = l.a(i5, j5, k5); if (l5 > 0) { Block.m[l5].a(l, i5, j5, k5, this); } } } } R *= 0.4F; boolean flag2 = r(); if (l.c(z)) { b(1); if (!flag2) { Z++; if (Z == 0) { Z = 300; } } } else if (Z <= 0) { Z = -Y; } if (flag2 && Z > 0) { l.a(this, "random.fizz", 0.7F, 1.6F + (W.nextFloat() - W.nextFloat()) * 0.4F); Z = -Y; } }