Minestom/src/main/java/fr/themode/demo/generator/NoiseTestGenerator.java

41 lines
1.3 KiB
Java
Raw Normal View History

2020-04-16 14:51:21 +02:00
package fr.themode.demo.generator;
2020-04-24 03:25:58 +02:00
import net.minestom.server.instance.Biome;
import net.minestom.server.instance.ChunkGenerator;
import net.minestom.server.instance.batch.ChunkBatch;
import net.minestom.server.utils.noise.FastNoise;
2020-04-16 14:51:21 +02:00
import java.util.Random;
public class NoiseTestGenerator extends ChunkGenerator {
private Random random = new Random();
private FastNoise fastNoise = new FastNoise();
{
fastNoise.SetNoiseType(FastNoise.NoiseType.Simplex);
fastNoise.SetInterp(FastNoise.Interp.Linear);
}
@Override
public void generateChunkData(ChunkBatch batch, int chunkX, int chunkZ) {
for (byte x = 0; x < 16; x++)
for (byte z = 0; z < 16; z++) {
float height = fastNoise.GetSimplex(x + 16 * chunkX, z + 16 * chunkZ) * 135;
height = Math.max(height, 70);
for (byte y = 0; y < height; y++) {
if (random.nextInt(100) > 10) {
batch.setCustomBlock(x, y, z, "custom_block");
} else {
batch.setBlock(x, y, z, (short) 10);
}
}
}
}
@Override
public Biome getBiome(int chunkX, int chunkZ) {
return Biome.PLAINS;
}
}