Combiner earth = new Combiner((new Octave()) .addOctave(1./1, new Perlin(seed2, noiseCount / 4).square().square().square()) .addOctave(2.0, new Perlin(seed3, cloudFreq * 1).square()) .addOctave(1./2, new Perlin(seed3, cloudFreq * 2).square()) .addOctave(1./4, new Perlin(seed3, cloudFreq * 4)) .addOctave(1./8, new Perlin(seed3, cloudFreq * 8)) ).addLevel(0, new ColorSampler(0xFF000080)) .addLevel(.3, new ColorSampler(0xFF0000FF)) .addLevel(.6, new ColorSampler(0xFF00E0FF)) .addLevel(.8, new ColorSampler(0xFF022020)) .addLevel(1.4, new Combiner((new Octave()) .addOctave(1.0, new Worley(seed, noiseCount, nth, dist1)) .addOctave(1./12, new Worley(seed + 1, noiseCount * 4, nth, dist2)) ).addLevel(0, new ColorSampler(0xFFFFC000)) .addLevel(.5, new ColorSampler(0xFFF04000)) .addLevel(1, new ColorSampler(0xFF600000)) ); Combiner clouds = new Combiner((new Octave()) .addOctave(1, new Worley(seed2, noiseCount / 4, 1, dist1*2)) .addOctave(1/2, new Worley(seed2, noiseCount * 1, 1, dist2*2)) ).addLevel(.5, earth) .addLevel(.75, new ColorSampler(0xFFFCF8FF)) .addLevel(1, new Combiner((new Octave()) .addOctave(0.5f, new Worley(seed2+1, noiseCount, 1, dist1/4)) .addOctave(1.0f, new Perlin(seed2, noiseCount/10)) .addOctave(.50f, new Perlin(seed2, noiseCount/5)) .addOctave(.25f, new Perlin(seed2, noiseCount/2)) ).addLevel(0.50, earth) .addLevel(1.00, new ColorSampler(0xFFA000FF)) .addLevel(1.25, new ColorSampler(0xFFE0C0FF)) .addLevel(1.50, new ColorSampler(0xFFA000FF)) .addLevel(2.00, earth) );