GrasslandBiom.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "BiomGenerator.h"
  3. #include "StaticRegistry.h"
  4. class GrasslandBiom : public BiomGenerator
  5. {
  6. Noise* heightNoise;
  7. Noise* undergroundDirdNoise;
  8. Noise* surfaceSandNoise;
  9. Noise* undergroundGravelNoise;
  10. Noise* grassNoise;
  11. // TODO: Noise* anySmallOreNoise;
  12. // TODO: add water rivers
  13. public:
  14. GrasslandBiom();
  15. ~GrasslandBiom();
  16. Framework::Either<Block*, int> generateAboveSurfaceBlock(int x,
  17. int y,
  18. int z,
  19. int surfaceHeight,
  20. Chunk* partialGeneratedChunk) override;
  21. Framework::Either<Block*, int> generateSurfaceBlock(
  22. int x, int y, int z) override;
  23. Framework::Either<Block*, int> generateBelowSurfaceBlock(
  24. int x, int y, int z) override;
  25. Framework::Either<Block*, int> generateCaveBlock(
  26. int x, int y, int z) override;
  27. Framework::Either<Block*, int> generateUnderWaterBlock(int x,
  28. int y,
  29. int z,
  30. int surfaceHeight,
  31. Chunk* partialGeneratedChunk) override;
  32. Noise* zHeightMapNoise() override;
  33. void setSeed(int seed) override;
  34. };