Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- while (k1-- >= 0) {
- if (Double.isNaN(vec3d.a) || Double.isNaN(vec3d.b) || Double.isNaN(vec3d.c)) {
- return null;
- }
- if (l == i && i1 == j && j1 == k) {
- return null;
- }
- boolean flag2 = true;
- boolean flag3 = true;
- boolean flag4 = true;
- double d0 = 999.0D;
- double d1 = 999.0D;
- double d2 = 999.0D;
- if (i > l) {
- d0 = (double) l + 1.0D;
- } else if (i < l) {
- d0 = (double) l + 0.0D;
- } else {
- flag2 = false;
- }
- if (j > i1) {
- d1 = (double) i1 + 1.0D;
- } else if (j < i1) {
- d1 = (double) i1 + 0.0D;
- } else {
- flag3 = false;
- }
- if (k > j1) {
- d2 = (double) j1 + 1.0D;
- } else if (k < j1) {
- d2 = (double) j1 + 0.0D;
- } else {
- flag4 = false;
- }
- double d3 = 999.0D;
- double d4 = 999.0D;
- double d5 = 999.0D;
- double d6 = vec3d1.a - vec3d.a;
- double d7 = vec3d1.b - vec3d.b;
- double d8 = vec3d1.c - vec3d.c;
- if (flag2) {
- d3 = (d0 - vec3d.a) / d6;
- }
- if (flag3) {
- d4 = (d1 - vec3d.b) / d7;
- }
- if (flag4) {
- d5 = (d2 - vec3d.c) / d8;
- }
- boolean flag5 = false;
- byte b0;
- if (d3 < d4 && d3 < d5) {
- if (i > l) {
- b0 = 4;
- } else {
- b0 = 5;
- }
- vec3d.a = d0;
- vec3d.b += d7 * d3;
- vec3d.c += d8 * d3;
- } else if (d4 < d5) {
- if (j > i1) {
- b0 = 0;
- } else {
- b0 = 1;
- }
- vec3d.a += d6 * d4;
- vec3d.b = d1;
- vec3d.c += d8 * d4;
- } else {
- if (k > j1) {
- b0 = 2;
- } else {
- b0 = 3;
- }
- vec3d.a += d6 * d5;
- vec3d.b += d7 * d5;
- vec3d.c = d2;
- }
- Vec3D vec3d2 = Vec3D.create(vec3d.a, vec3d.b, vec3d.c);
- l = (int) (vec3d2.a = (double) MathHelper.floor(vec3d.a));
- if (b0 == 5) {
- --l;
- ++vec3d2.a;
- }
- i1 = (int) (vec3d2.b = (double) MathHelper.floor(vec3d.b));
- if (b0 == 1) {
- --i1;
- ++vec3d2.b;
- }
- j1 = (int) (vec3d2.c = (double) MathHelper.floor(vec3d.c));
- if (b0 == 3) {
- --j1;
- ++vec3d2.c;
- }
- int i2 = this.getTypeId(l, i1, j1);
- int j2 = this.getData(l, i1, j1);
- Block block1 = Block.byId[i2];
- if ((!flag1 || block1 == null || block1.d(this, l, i1, j1) != null) && i2 > 0 && block1.a(j2, flag)) {
- MovingObjectPosition movingobjectposition1 = block1.a(this, l, i1, j1, vec3d, vec3d1);
- if (movingobjectposition1 != null) {
- return movingobjectposition1;
- }
- }
- }
- return null;
- } else {
- return null;
- }
- } else {
- return null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement