#ifndef CRATE_HPP_
#define CRATE_HPP_

#include <Block/SpriteBlock/BasicBlock/BasicBlock.hpp>
#include <Machine/MCrate/MCrate.hpp>
#include <Block/MachineBlockMixin.hpp>

class Crate : public BasicBlock, public MachineBlockMixin<MCrate>
{
public:
    Crate(std::string name);

    virtual void getHarvestedStacks(LocalWorld &world, glm::ivec3 pos, std::vector<ItemStack> &stacks) override;
    virtual bool canManuallyDig() override;
    virtual void onInteract(LocalWorld &world, Player &player, glm::ivec3 pos, Side side, const RGBABytes &collisionKey) override;
};

#endif