#pragma once #include "Item.h" class Player; class Mob; class Level; class DyePowderItem : public Item { public: static const unsigned int COLOR_DESCS[]; static const unsigned int COLOR_USE_DESCS[]; static const std::wstring COLOR_TEXTURES[]; static const int COLOR_RGB[]; static const int BLACK; static const int RED; static const int GREEN; static const int BROWN; static const int BLUE; static const int PURPLE; static const int CYAN; static const int SILVER; static const int GRAY; static const int PINK; static const int LIME; static const int YELLOW; static const int LIGHT_BLUE; static const int MAGENTA; static const int ORANGE; static const int WHITE; private: static const int DYE_POWDER_ITEM_TEXTURE_COUNT = 16; Icon** icons; public: DyePowderItem(int id); virtual Icon* getIcon(int itemAuxValue); virtual unsigned int getDescriptionId( std::shared_ptr itemInstance); virtual unsigned int getUseDescriptionId( std::shared_ptr itemInstance); virtual bool useOn(std::shared_ptr itemInstance, std::shared_ptr player, Level* level, int x, int y, int z, int face, float clickX, float clickY, float clickZ, bool bTestUseOnOnly = false); static bool growCrop(std::shared_ptr itemInstance, Level* level, int x, int y, int z, bool bTestUseOnOnly); static void addGrowthParticles(Level* level, int x, int y, int z, int count); virtual bool interactEnemy(std::shared_ptr itemInstance, std::shared_ptr player, std::shared_ptr mob); //@Override void registerIcons(IconRegister* iconRegister); };