Files
VoxelEngine/World/WorldGen/IBiome.cs

18 lines
505 B
C#

using VoxelEngine.World.Blocks;
namespace VoxelEngine.World.WorldGen;
public interface IBiome
{
string Name { get; }
// Absolute target surface height at the column (continuous, pre-rounding).
float SampleHeight(NoiseSource noise, float worldX, float worldZ);
SurfacePalette Surface { get; }
// Surface block for a given height; lets biomes vary the top by altitude
// (e.g. Mountains use Snow above the snow line). Defaults to Surface.Top.
IBlock TopBlock(int worldY);
}