User:Pokechu22/BugArchive/MC-52274

From Minecraft Wiki
Jump to: navigation, search

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[edit]

No changes from 15w38a.

15w38a[edit]

15w38a uses the exact same obfuscation as 15w37a, and no relevant lines were changed.

15w37a[edit]

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[edit]

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(☃, ☃, ☃);
  }