18 lines
505 B
C#
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);
|
|
}
|