#ifndef DYE_HPP_
#define DYE_HPP_

#include <Item/StatelessItem/BasicItem/BasicItem.hpp>
#include <string>

class Dye : public BasicItem
{
private:
    std::string colorName;

    std::string getDyedBlockName(const std::string &currentName);

public:
    static std::vector<std::string> colorNames;
    static std::unordered_map<std::string, std::string> colorDisplayNames;

    Dye(std::string name, std::string colorName, std::string displayName, Material &mat);

    virtual void onUse(LocalWorld &world, IWorldActor &actor, ItemStack &stack, glm::ivec3 pos, Side side) override;
};

#endif