1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
package net.tylermurphy.Minecraft.Chunk;
import net.tylermurphy.Minecraft.Scene.World;
public class Generator {
private static void generateLandscape(Chunk c) {
for(int x=0;x<16;x++) {
for(int z=0;z<16;z++) {
int biome = (int) (PerlinNoise.getNoise(World.seed, c.gridX*16+x, c.gridZ*16+z, PerlinNoise.NoiseType.Cellular)*3)+3;
biome = Math.max(1, Math.min(6, biome));
int height1 = (int) (PerlinNoise.getNoise(World.seed, c.gridX*16+x, c.gridZ*16+z, PerlinNoise.NoiseType.PerlinFractal)*biome)+biome;
int height2 = (int) (PerlinNoise.getNoise(World.seed+1, c.gridX*16+x, c.gridZ*16+z, PerlinNoise.NoiseType.Perlin)*biome)+biome;
int height3 = (int) (PerlinNoise.getNoise(World.seed+2, c.gridX*16+x, c.gridZ*16+z, PerlinNoise.NoiseType.Simplex)*biome)+biome;
int top = 90 + height1 + height2 - height3;
for(int y=0;y<256;y++) {
if(y<top) {
c.cubes[x][y][z] = (byte)(biome);
} else {
c.cubes[x][y][z] = -1;
}
}
}
}
}
public static void generate(Chunk c) {
generateLandscape(c);
}
}
|