#ifndef BOULDER_HPP_
#define BOULDER_HPP_

#include <Decoration/Decoration.hpp>

/**
 * @brief Boulder with randomized ores.
 */
class Boulder : public Decoration
{
private:
    static constexpr int minRadius = 2;
    static constexpr int maxRadius = 6;

    void buildSphere(ISculptor &sculptor, GeneratorNode node, glm::ivec3 centerPos, int radius);

public:
    virtual void build(ISculptor &sculptor, GeneratorNode node, glm::ivec3 pos) override;
    virtual double getAverageDensity(const TerrainGenerator::Cell &cell, GeneratorNode node) override;
};

#endif
