#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(const std::string& id); ItemDef& createItem(const std::string& id); BlockMaterial& createBlockMaterial(const std::string& id); void checkIdentifier(const std::string& id); contenttype checkContentType(const std::string& id); std::unique_ptr build(); }; #endif // CONTENT_CONTENT_BUILDER_HPP_