This is an archive of the specific obfuscated code that causes MC-52274 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.
15w38b
No changes from 15w38a.
15w38a
15w38a uses the exact same obfuscation as 15w37a, and no relevant lines were changed.
15w37a
Original EntityLivingBase.dismountEntity
:
- rl, lines 1184 to 1284
public void q(rc ☃) { double ☃ = ☃.q; double ☃ = ☃.aZ().b + ☃.I; double ☃ = ☃.s; int ☃ = 1; for (int ☃ = -☃; ☃ <= ☃; ☃++) { for (int ☃ = -☃; ☃ < ☃; ☃++) { if ((☃ != 0) || (☃ != 0)) { int ☃ = (int)(this.q + ☃); int ☃ = (int)(this.s + ☃); ayz ☃ = aZ().c(☃, 1.0D, ☃); if (this.m.a(☃).isEmpty()) { if (agr.a(this.m, new cj(☃, (int)this.r, ☃))) { a(this.q + ☃, this.r + 1.0D, this.s + ☃); return; } if ((agr.a(this.m, new cj(☃, (int)this.r - 1, ☃))) || (this.m.p(new cj(☃, (int)this.r - 1, ☃)).a() == awe.h)) { ☃ = this.q + ☃; ☃ = this.r + 1.0D; ☃ = this.s + ☃; } } } } } a(☃, ☃, ☃); }
Fixed version:
- rl, lines 1184 to 1214
public void q(rc ☃) { double ☃ = ☃.q; double ☃ = ☃.aZ().b + ☃.I; double ☃ = ☃.s; int ☃ = 1; for (int ☃ = -☃; ☃ <= ☃; ☃++) { for (int ☃ = -☃; ☃ <= ☃; ☃++) { //Changed < to <= if ((☃ != 0) || (☃ != 0)) { dobule ☃ = (this.q + ☃); //Changed to double and removed cast dobule ☃ = (this.s + ☃); //Changed to double and removed cast ayz ☃ = aZ().c(☃, 1.0D, ☃); if (this.m.a(☃).isEmpty()) { if (agr.a(this.m, new cj(☃, this.r, ☃))) { //Removed int cast on this.r a(this.q + ☃, this.r + 1.0D, this.s + ☃); return; } if ((agr.a(this.m, new cj(☃, (int)this.r - 1, ☃))) || (this.m.p(new cj(☃, this.r - 1, ☃)).a() == awe.h)) { //Removed int cast on this.r ☃ = this.q + ☃; ☃ = this.r + 1.0D; ☃ = this.s + ☃; } } } } } a(☃, ☃, ☃); }
15w36d
Origional EntityLivingBase.dismountEntity
:
- rk, lines 1185 to 1215
public void q(rb ☃) { double ☃ = ☃.r; double ☃ = ☃.aZ().b + ☃.J; double ☃ = ☃.t; int ☃ = 1; for (int ☃ = -☃; ☃ <= ☃; ☃++) { for (int ☃ = -☃; ☃ < ☃; ☃++) { if ((☃ != 0) || (☃ != 0)) { 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:
- rk, lines 1185 to 1215
public void q(rb ☃) { double ☃ = ☃.r; double ☃ = ☃.aZ().b + ☃.J; double ☃ = ☃.t; int ☃ = 1; for (int ☃ = -☃; ☃ <= ☃; ☃++) { for (int ☃ = -☃; ☃ <= ☃; ☃++) { //< changed to <= if ((☃ != 0) || (☃ != 0)) { 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(☃, ☃, ☃); }