Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 53 lines 1.4 kB view raw
1package net.minecraft.server; 2 3import java.util.Random; 4 5public class NoiseGeneratorOctaves extends NoiseGenerator { 6 7 private NoiseGeneratorPerlin[] a; 8 private int b; 9 10 public NoiseGeneratorOctaves(Random random, int i) { 11 this.b = i; 12 this.a = new NoiseGeneratorPerlin[i]; 13 14 for (int j = 0; j < i; ++j) { 15 this.a[j] = new NoiseGeneratorPerlin(random); 16 } 17 } 18 19 public double a(double d0, double d1) { 20 double d2 = 0.0D; 21 double d3 = 1.0D; 22 23 for (int i = 0; i < this.b; ++i) { 24 d2 += this.a[i].a(d0 * d3, d1 * d3) / d3; 25 d3 /= 2.0D; 26 } 27 28 return d2; 29 } 30 31 public double[] a(double[] adouble, double d0, double d1, double d2, int i, int j, int k, double d3, double d4, double d5) { 32 if (adouble == null) { 33 adouble = new double[i * j * k]; 34 } else { 35 for (int l = 0; l < adouble.length; ++l) { 36 adouble[l] = 0.0D; 37 } 38 } 39 40 double d6 = 1.0D; 41 42 for (int i1 = 0; i1 < this.b; ++i1) { 43 this.a[i1].a(adouble, d0, d1, d2, i, j, k, d3 * d6, d4 * d6, d5 * d6, d6); 44 d6 /= 2.0D; 45 } 46 47 return adouble; 48 } 49 50 public double[] a(double[] adouble, int i, int j, int k, int l, double d0, double d1, double d2) { 51 return this.a(adouble, (double) i, 10.0D, (double) j, k, 1, l, d0, 1.0D, d1); 52 } 53}