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;
|
|
|
|
}
|
|
|
|
}
|