GrasslandBiom.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  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. // TODO: Noise* anySmallOreNoise;
  11. // TODO: add water rivers
  12. public:
  13. GrasslandBiom();
  14. ~GrasslandBiom();
  15. Framework::Either<Block*, int> generateAboveSurfaceBlock(int x,
  16. int y,
  17. int z,
  18. int surfaceHeight,
  19. Chunk* partialGeneratedChunk) override;
  20. Framework::Either<Block*, int> generateSurfaceBlock(
  21. int x, int y, int z) override;
  22. Framework::Either<Block*, int> generateBelowSurfaceBlock(
  23. int x, int y, int z) override;
  24. Framework::Either<Block*, int> generateCaveBlock(
  25. int x, int y, int z) override;
  26. Framework::Either<Block*, int> generateUnderWaterBlock(int x,
  27. int y,
  28. int z,
  29. int surfaceHeight,
  30. Chunk* partialGeneratedChunk) override;
  31. Noise* zHeightMapNoise() override;
  32. void setSeed(int seed) override;
  33. };