
com.parzivail.util.gen.surface.SaltFlatsSurfaceBuilder Maven / Gradle / Ivy
package com.parzivail.util.gen.surface;
import com.parzivail.pswg.container.SwgBlocks;
import com.parzivail.util.gen.noise.OctaveNoise;
import com.parzivail.util.gen.world.ChunkView;
import java.util.Random;
import net.minecraft.class_2680;
public class SaltFlatsSurfaceBuilder implements SurfaceBuilder
{
private final TwoStateSurfaceBuilder salt;
private final TwoStateSurfaceBuilder desert;
private final OctaveNoise noise;
public SaltFlatsSurfaceBuilder()
{
this.salt = new TwoStateSurfaceBuilder(SwgBlocks.Salt.Caked.method_9564(), 3, SwgBlocks.Sandstone.SmoothDesert.method_9564(), 16);
this.desert = new TwoStateSurfaceBuilder(SwgBlocks.Sand.Canyon.method_9564(), 3, SwgBlocks.Sandstone.SmoothDesert.method_9564(), 16);
long seed = 100;
this.noise = new OctaveNoise(2, new Random(seed), 120, 80, 1.0, 2.0, 2.0);
}
@Override
public void build(ChunkView chunk, int x, int z, int height, Random random, class_2680 defaultBlock, class_2680 defaultFluid)
{
double noise = this.noise.sample(x, z);
if ((noise + random.nextDouble() * 0.04) > 0.2)
{
salt.build(chunk, x, z, height, random, defaultBlock, defaultFluid);
}
else
{
desert.build(chunk, x, z, height, random, defaultBlock, defaultFluid);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy