#ifndef CONTENT_CONTENT_BUILDER_HPP_ #define CONTENT_CONTENT_BUILDER_HPP_ #include "../items/ItemDef.hpp" #include "../voxels/Block.hpp" #include "../content/Content.hpp" #include "../content/ContentPack.hpp" #include #include #include class ContentBuilder { std::unordered_map> blockDefs; std::vector blockIds; std::unordered_map> itemDefs; std::vector itemIds; std::unordered_map> blockMaterials; std::unordered_map> packs; public: ~ContentBuilder(); void add(std::unique_ptr pack); Block& createBlock(std::string id); ItemDef& createItem(std::string id); BlockMaterial& createBlockMaterial(std::string id); void checkIdentifier(std::string id); contenttype checkContentType(std::string id); std::unique_ptr build(); }; #endif // CONTENT_CONTENT_BUILDER_HPP_