#pragma once

#include <ReferenceCounter.h>

class CaveChunkGenerator : public virtual Framework::ReferenceCounter
{
public:
    CaveChunkGenerator();
    virtual bool isInCave(int x, int y, int z) = 0;
};

class CaveGenerator : public virtual Framework::ReferenceCounter
{
protected:
    int seed;

public:
    CaveGenerator(int seed);
    virtual CaveChunkGenerator* getGeneratorForChunk(int x, int y) = 0;
};