private double[] initializeNoiseField(double ad[], int i, int j, int k, int l, int i1, int j1) { if (ad == null) { ad = new double[l * i1 * j1]; } double d = 684.41200000000003D; double d1 = 684.41200000000003D; double ad1[] = BWG4WorldChunkManager.temperature; double ad2[] = BWG4WorldChunkManager.humidity; field_4182_g = field_922_a.func_4109_a(field_4182_g, i, k, l, j1, 1.121D, 1.121D, 0.5D); field_4181_h = field_921_b.func_4109_a(field_4181_h, i, k, l, j1, 200D, 200D, 0.5D); field_4185_d = field_910_m.func_807_a(field_4185_d, i, j, k, l, i1, j1, d / 80D, d1 / 160D, d / 80D); field_4184_e = field_912_k.func_807_a(field_4184_e, i, j, k, l, i1, j1, d, d1, d); field_4183_f = field_911_l.func_807_a(field_4183_f, i, j, k, l, i1, j1, d, d1, d); int k1 = 0; int l1 = 0; int i2 = 16 / l; for (int j2 = 0; j2 < l; j2++) { int k2 = j2 * i2 + i2 / 2; for (int l2 = 0; l2 < j1; l2++) { int i3 = l2 * i2 + i2 / 2; double d2 = ad1[k2 * 16 + i3]; double d3 = ad2[k2 * 16 + i3] * d2; double d4 = 1.0D - d3; d4 *= d4; d4 *= d4; d4 = 1.0D - d4; double d5 = (field_4182_g[l1] + 256D) / 512D; d5 *= d4; if (d5 > 1.0D) { d5 = 1.0D; } double d6 = field_4181_h[l1] / 8000D; if (d6 < 0.0D) { d6 = -d6 * 0.29999999999999999D; } d6 = d6 * 3D - 2D; if (d6 < 0.0D) { d6 /= 2D; if (d6 < -1D) { d6 = -1D; } d6 /= 1.3999999999999999D; d6 /= 2D; d5 = 0.0D; } else { if (d6 > 1.0D) { d6 = 1.0D; } d6 /= 8D; } if (d5 < 0.0D) { d5 = 0.0D; } d5 += 0.5D; d6 = (d6 * (double) i1) / 16D; double d7 = (double) i1 / 2D + d6 * 4D; l1++; for (int j3 = 0; j3 < i1; j3++) { double d8 = 0.0D; double d9 = (((double) j3 - d7) * 12D) / d5; if (d9 < 0.0D) { d9 *= 4D; } double d10 = field_4184_e[k1] / 512D; double d11 = field_4183_f[k1] / 512D; double d12 = (field_4185_d[k1] / 10D + 1.0D) / 2D; if (d12 < 0.0D) { d8 = d10; } else if (d12 > 1.0D) { d8 = d11; } else { d8 = d10 + (d11 - d10) * d12; } d8 -= d9; if (j3 > i1 - 4) { double d13 = (float) (j3 - (i1 - 4)) / 3F; d8 = d8 * (1.0D - d13) + -10D * d13; } ad[k1] = d8; k1++; } } } return ad; }