#ifndef AIR_BLOCK_HPP_
#define AIR_BLOCK_HPP_

#include <Block/Block.hpp>

/**
 * @brief Represents the special "air" block.
 */
class AirBlock : public Block
{
public:
    AirBlock(std::string name);

    virtual void loadBlockSprites(BlockAtlas &atlas, Bitmap &icon, VoxelSprite &defaultSprite) override;
    virtual BlockAtlas::SpriteID getBlockSprite(glm::ivec3 pos, uint8_t meta, World &world) override;
    virtual void getCollisionBoxes(World &world, glm::ivec3 pos, std::vector<BoundingBox<wfixed>> &boxes) override;
    virtual void getHarvestedStacks(LocalWorld &world, glm::ivec3 pos, std::vector<ItemStack> &stacks) override;
    virtual bool isFullyOpaque() override;
    virtual bool canReplaceWithPlacedBlock() override;
    virtual bool canSweepAway() override;
};

#endif