#pragma once #include #include #include #include "Item.h" #include "nbt/CompoundTag.h" #include "nbt/Tag.h" class CompoundTag; class HtmlString; class Icon; class ItemInstance; class Tag; class FireworksChargeItem : public Item { private: Icon* overlay; public: FireworksChargeItem(int id); virtual Icon* getLayerIcon(int auxValue, int spriteLayer); virtual int getColor(std::shared_ptr item, int spriteLayer); virtual bool hasMultipleSpriteLayers(); static Tag* getExplosionTagField(std::shared_ptr instance, const std::string& field); virtual void appendHoverText(std::shared_ptr itemInstance, std::shared_ptr player, std::vector* lines, bool advanced); static void appendHoverText(CompoundTag* expTag, std::vector* lines); virtual void registerIcons(IconRegister* iconRegister); };