int checkBlockLine(int[] var1, int[] var2) {
      int[] var3 = new int[]{0, 0, 0};
      byte var4 = 0;

      byte var5;
      for(var5 = 0; var4 < 3; ++var4) {
         var3[var4] = var2[var4] - var1[var4];
         if(Math.abs(var3[var4]) > Math.abs(var3[var5])) {
            var5 = var4;
         }
      }

      if(var3[var5] == 0) {
         return -1;
      } else {
         byte var6 = otherCoordPairs[var5];
         byte var7 = otherCoordPairs[var5 + 3];
         byte var8;
         if(var3[var5] > 0) {
            var8 = 1;
         } else {
            var8 = -1;
         }

         double var9 = (double)var3[var6] / (double)var3[var5];
         double var11 = (double)var3[var7] / (double)var3[var5];
         int[] var13 = new int[]{0, 0, 0};
         int var14 = 0;

         int var15;
         for(var15 = var3[var5] + var8; var14 != var15; var14 += var8) {
            var13[var5] = var1[var5] + var14;
            var13[var6] = MathHelper.floor_double((double)var1[var6] + (double)var14 * var9);
            var13[var7] = MathHelper.floor_double((double)var1[var7] + (double)var14 * var11);
            int var16 = this.worldObj.getBlockId(var13[0], var13[1], var13[2]);
            if(var16 != 0 && var16 != 18) {
               break;
            }
         }

         return var14 == var15?-1:Math.abs(var14);
      }
   }