// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class OverworldGenerator {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_OVERWORLDGENERATOR
public:
    class OverworldGenerator& operator=(class OverworldGenerator const &) = delete;
    OverworldGenerator(class OverworldGenerator const &) = delete;
    OverworldGenerator() = delete;
#endif

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_OVERWORLDGENERATOR
    MCVAPI void addHardcodedSpawnAreas(class LevelChunk &);
    MCVAPI void debugRender();
    MCVAPI bool findNearestFeature(enum StructureFeatureType, class BlockPos const &, class BlockPos &);
    MCVAPI class BlockPos findSpawnPosition() const;
    MCVAPI void garbageCollectBlueprints(class buffer_span<class ChunkPos>);
    MCVAPI class BiomeArea getBiomeArea(class BoundingBox const &, unsigned int) const;
    MCVAPI enum StructureFeatureType getFeatureTypeAt(class BlockPos const &);
    MCVAPI void loadChunk(class LevelChunk &, bool);
    MCVAPI bool postProcess(class ChunkViewSource &);
    MCVAPI void postProcessMobsAt(class BlockSource &, int, int, class Random &);
    MCVAPI void prepareHeights(class BlockVolume &, class ChunkPos const &, bool);
    MCVAPI ~OverworldGenerator();
#endif
    MCAPI OverworldGenerator(class Dimension &, unsigned int, bool, class Biome const *);
    MCAPI void _fixWaterAlongEdges(class LevelChunk &, class BlockSource &, class BlockTickingQueue &);
    MCAPI void buildSurfaces(struct OverworldGenerator::ThreadData &, class BlockVolume &, class LevelChunk &, class ChunkPos const &);

//private:
    MCAPI void _makeLayers(class LevelData const &, class BiomeRegistry const &);
    MCAPI void _prepareHeights(class BlockVolume &, class ChunkPos const &, class BiomeSource const &, bool);
    MCAPI void _prepareStructureBlueprints(class ChunkPos const &, class BiomeSource &);
    MCAPI void getHeights(class std::array<float, 425> &, class BiomeArea const &, int, int, int);

private:

};