User:Pokechu22/BugArchive/MC-52274

This is an archive of the specific obfuscated code that causes to occur. They previously were used on that bug report, but are no longer included there to make the report clear. The meaning of this code is explained in that report. All decompilation is done using jd.

15w36d
Origional :

public void q(rb ☃) {   double ☃ = ☃.r;    double ☃ = ☃.aZ.b + ☃.J;    double ☃ = ☃.t;    int ☃ = 1; for (int ☃ = -☃; ☃ <= ☃; ☃++) { for (int ☃ = -☃; ☃ < ☃; ☃++) { if ((☃ != 0) || (☃ != 0)) {
 * rk, lines 1185 to 1215

int ☃ = (int)(this.r + ☃); int ☃ = (int)(this.t + ☃); ayq ☃ = aZ.c(☃, 1.0D, ☃); if (this.n.a(☃).isEmpty) { if (agq.a(this.n, new cj(☃, (int)this.s, ☃))) { a(this.r + ☃, this.s + 1.0D, this.t + ☃); return; } if ((agq.a(this.n, new cj(☃, (int)this.s - 1, ☃))) || (this.n.p(new cj(☃, (int)this.s - 1, ☃)).c.v == avw.h)) { ☃ = this.r + ☃; ☃ = this.s + 1.0D; ☃ = this.t + ☃; }         }        }      }    }    a(☃, ☃, ☃); }

Fixed version:

public void q(rb ☃) {   double ☃ = ☃.r;    double ☃ = ☃.aZ.b + ☃.J;    double ☃ = ☃.t;    int ☃ = 1; for (int ☃ = -☃; ☃ <= ☃; ☃++) { for (int ☃ = -☃; ☃ <= ☃; ☃++) { //< changed to <= if ((☃ != 0) || (☃ != 0)) {
 * rk, lines 1185 to 1215

double ☃ = (this.r + ☃); //Changed to double and cast removed double ☃ = (this.t + ☃); //Changed to double and cast removed ayq ☃ = aZ.c(☃, 1.0D, ☃); if (this.n.a(☃).isEmpty) { if (agq.a(this.n, new cj(☃, this.s, ☃))) { //Removed int cast for this.s             a(this.r + ☃, this.s + 1.0D, this.t + ☃); return; } if ((agq.a(this.n, new cj(☃, this.s - 1, ☃))) || (this.n.p(new cj(☃, this.s - 1, ☃)).c.v == avw.h)) { //Removed int casts for this.s             ☃ = this.r + ☃; ☃ = this.s + 1.0D; ☃ = this.t + ☃; }         }        }      }    }    a(☃, ☃, ☃); }