Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. private double[] generateHeightmap(double[] array, final int n, final int n2, final int n3, final int n4, final int n5, final int n6) {
  2. if (array == null) {
  3. array = new double[n4 * n5 * n6];
  4. }
  5. final double n7 = 684.412;
  6. final double n8 = 684.412;
  7. final double[] field_2235 = this.levelGzn.getBiomeSource().field_2235;
  8. final double[] field_2236 = this.levelGzn.getBiomeSource().field_2236;
  9. this.field_2251 = this.field_2245.NoiseGeneratorOctaves(this.field_2251, n, n3, n4, n6, 1.121, 1.121, 0.5);
  10. this.depthRegion = this.field_2246.NoiseGeneratorOctaves(this.depthRegion, n, n3, n4, n6, 200.0, 200.0, 0.5);
  11. this.mainNoiseRegion = this.field_2257.NoiseGenOctaves(this.mainNoiseRegion, n, n2, n3, n4, n5, n6, n7 / 80.0, n8 / 160.0, n7 / 80.0);
  12. this.minLimitRegion = this.field_2255.NoiseGenOctaves(this.minLimitRegion, n, n2, n3, n4, n5, n6, n7, n8, n7);
  13. this.maxLimitREgion = this.field_2256.NoiseGenOctaves(this.maxLimitREgion, n, n2, n3, n4, n5, n6, n7, n8, n7);
  14. int n9 = 0;
  15. int n10 = 0;
  16. final int n11 = 16 / n4;
  17. for (int i = 0; i < n4; ++i) {
  18. final int n12 = i * n11 + n11 / 2;
  19. for (int j = 0; j < n6; ++j) {
  20. final int n13 = j * n11 + n11 / 2;
  21. final double n14 = 1.0 - field_2236[n12 * 16 + n13] * field_2235[n12 * 16 + n13];
  22. final double n15 = n14 * n14;
  23. double n16 = (this.field_2251[n10] + 256.0) / 512.0 * (1.0 - n15 * n15);
  24. if (n16 > 1.0) {
  25. n16 = 1.0;
  26. }
  27. double n17 = this.depthRegion[n10] / 8000.0;
  28. if (n17 < 0.0) {
  29. n17 = -n17 * 0.3;
  30. }
  31. double n18 = n17 * 3.0 - 2.0;
  32. double n20;
  33. if (n18 < 0.0) {
  34. double n19 = n18 / 2.0;
  35. if (n19 < -1.0) {
  36. n19 = -1.0;
  37. }
  38. n20 = n19 / 1.4 / 2.0;
  39. n16 = 0.0;
  40. }
  41. else {
  42. if (n18 > 1.0) {
  43. n18 = 1.0;
  44. }
  45. n20 = n18 / 8.0;
  46. }
  47. if (n16 < 0.0) {
  48. n16 = 0.0;
  49. }
  50. final double n21 = n16 + 0.5;
  51. final double n22 = n5 / 2.0 + n20 * n5 / 16.0 * 4.0;
  52. ++n10;
  53. for (int k = 0; k < n5; ++k) {
  54. double n23 = (k - n22) * 12.0 / n21;
  55. if (n23 < 0.0) {
  56. n23 *= 4.0;
  57. }
  58. final double n24 = this.minLimitRegion[n9] / 512.0;
  59. final double n25 = this.maxLimitREgion[n9] / 512.0;
  60. final double n26 = (this.mainNoiseRegion[n9] / 10.0 + 1.0) / 2.0;
  61. double n27;
  62. if (n26 < 0.0) {
  63. n27 = n24;
  64. }
  65. else if (n26 > 1.0) {
  66. n27 = n25;
  67. }
  68. else {
  69. n27 = n24 + (n25 - n24) * n26;
  70. }
  71. double n28 = n27 - n23;
  72. if (k > n5 - 4) {
  73. final double n29 = (k - (n5 - 4)) / 3.0f;
  74. n28 = n28 * (1.0 - n29) + -10.0 * n29;
  75. }
  76. array[n9] = n28;
  77. ++n9;
  78. }
  79. }
  80. }
  81. return array;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement