#ifndef STAR_ITEM_RECIPE_HPP #define STAR_ITEM_RECIPE_HPP #include "StarItemDescriptor.hpp" #include "StarGameTypes.hpp" namespace Star { STAR_EXCEPTION(RecipeException, StarException); struct ItemRecipe { Json toJson(); bool isNull(); bool operator==(ItemRecipe const& rhs) const; bool operator!=(ItemRecipe const& rhs) const; StringMap currencyInputs; List inputs; ItemDescriptor output; float duration; StringSet groups; Rarity outputRarity; String guiFilterString; StringMap collectables; bool matchInputParameters; }; template <> struct hash { size_t operator()(ItemRecipe const& v) const; }; std::ostream& operator<<(std::ostream& os, ItemRecipe const& recipe); } template <> struct fmt::formatter : ostream_formatter {}; #endif