diff options
Diffstat (limited to 'src/AssetManager.hpp')
-rw-r--r-- | src/AssetManager.hpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/AssetManager.hpp b/src/AssetManager.hpp index 2940b5f..f3d0718 100644 --- a/src/AssetManager.hpp +++ b/src/AssetManager.hpp @@ -92,6 +92,24 @@ struct BlockModel { std::vector<ParsedFace> parsedFaces; }; +struct BlockStateVariant { + std::string variantName; + + struct Model { + std::string modelName; + int x = 0; + int y = 0; + bool uvLock = false; + int weight = 1; + }; + + std::vector<Model> models; +}; + +struct BlockState { + std::map<std::string, BlockStateVariant> variants; +}; + inline bool operator==(const BlockModel::ElementData::FaceData::Uv &lhs, const BlockModel::ElementData::FaceData::Uv &rhs) { return lhs.x1 == rhs.x1 && lhs.y1 == rhs.y1 && lhs.x2 == rhs.x2 && lhs.y2 == rhs.y2; @@ -113,6 +131,10 @@ struct AssetBlockModel : Asset { BlockModel blockModel; }; +struct AssetBlockState : Asset { + BlockState blockState; +}; + struct AssetTexture : Asset { std::vector<unsigned char> textureData; unsigned int realWidth, realHeight; |