#ifndef MMACERATOR_HPP_
#define MMACERATOR_HPP_

#include <Machine/MItemProcessor/MItemProcessor.hpp>
#include <Material/Material.hpp>

/**
 * @brief Represents the macerator machine.
 */
class MMacerator : public MItemProcessor
{
protected:
    virtual ItemStack getOutputItem(ItemStack &input) override;
    virtual int getPowerUsage() override;

public:
    static std::string displayName;
    static std::string machineBlockName;
    static std::string helpUrl;
    static std::string verb;
    static constexpr int completedProgress = 300;

    static ItemStack getOutputItemS(ItemStack &input);

    MMacerator(LocalWorld &world, glm::ivec3 pos);

    virtual int getCompletedProgress() override;
};

#endif