diff options
-rw-r--r-- | cwd/assets/minecraft/blockstates/lava.json | 5 | ||||
-rw-r--r-- | cwd/assets/minecraft/blockstates/water.json | 5 | ||||
-rw-r--r-- | cwd/assets/minecraft/models/block/lava.json | 6 | ||||
-rw-r--r-- | cwd/assets/minecraft/models/block/water.json | 6 | ||||
-rw-r--r-- | src/AssetManager.cpp | 4 | ||||
-rw-r--r-- | src/Block.cpp | 8 |
6 files changed, 34 insertions, 0 deletions
diff --git a/cwd/assets/minecraft/blockstates/lava.json b/cwd/assets/minecraft/blockstates/lava.json new file mode 100644 index 0000000..97b01d3 --- /dev/null +++ b/cwd/assets/minecraft/blockstates/lava.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "lava" } + } +} diff --git a/cwd/assets/minecraft/blockstates/water.json b/cwd/assets/minecraft/blockstates/water.json new file mode 100644 index 0000000..683334a --- /dev/null +++ b/cwd/assets/minecraft/blockstates/water.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "water" } + } +} diff --git a/cwd/assets/minecraft/models/block/lava.json b/cwd/assets/minecraft/models/block/lava.json new file mode 100644 index 0000000..714d0b2 --- /dev/null +++ b/cwd/assets/minecraft/models/block/lava.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/lava_flow" + } +} diff --git a/cwd/assets/minecraft/models/block/water.json b/cwd/assets/minecraft/models/block/water.json new file mode 100644 index 0000000..860815a --- /dev/null +++ b/cwd/assets/minecraft/models/block/water.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "blocks/water_flow" + } +} diff --git a/src/AssetManager.cpp b/src/AssetManager.cpp index 97833f5..5fa7990 100644 --- a/src/AssetManager.cpp +++ b/src/AssetManager.cpp @@ -455,6 +455,10 @@ void ParseBlockModels() { } textureName.insert(0, "minecraft/textures/"); texture = AssetManager::GetTexture(textureName); + if (textureName.find("water_flow") != std::string::npos) + texture.h /= 32.0f; + if (textureName.find("lava_flow") != std::string::npos) + texture.h /= 16.0f; if (!(face.second.uv == BlockModel::ElementData::FaceData::Uv{ 0,16,0,16 }) && !(face.second.uv == BlockModel::ElementData::FaceData::Uv{ 0,0,0,0 }) && !(face.second.uv == BlockModel::ElementData::FaceData::Uv{ 0,0,16,16 })) { diff --git a/src/Block.cpp b/src/Block.cpp index 6756960..3de1901 100644 --- a/src/Block.cpp +++ b/src/Block.cpp @@ -44,6 +44,14 @@ std::pair<std::string, std::string> TransformBlockIdToBlockStateName(BlockId blo }; return ids[blockId.state]; } + case 8: + case 9: { + return std::make_pair("water", "normal"); + } + case 10: + case 11: { + return std::make_pair("lava", "normal"); + } case 12: { if (blockId.state > 1) break; |