`MultiPartBakedModel` does not collect model data
Minecraft Version: 1.19 - 1.21.4
Forge Version: 41.0.64 - 54.1.3
Description of issue:
MultiPartBakedModel holds a list of child models which are applied conditionally based on the block state.
Forge patches MultiPartBakedModel, to override Forge added rendering API's from IForgeBakedModel. This also includes passing model data to the child models in #getQuads through the use of MultipartModelData class.
Although #getQuads is patched to pass model data to child models, it seems no model data is collected as MultiPartBakedModel does not override IForgeBakedModel#getModelData. This means child models always receive empty model data.
https://github.com/MinecraftForge/MinecraftForge/blob/1.21.4/patches/minecraft/net/minecraft/client/resources/model/MultiPartBakedModel.java.patch
It seems this issue was introduced in #8786 (4d074f0a1ef1d774786b4f1e1e3e827a9bf576e0) all the way back in 1.19.
The PR seems to have unintentionally removed the #getModelData override from the MultiPartBakedModel patch.
The #getModelData override looked like this before the PR:
https://github.com/MinecraftForge/MinecraftForge/blob/1.18.x/patches/minecraft/net/minecraft/client/resources/model/MultiPartBakedModel.java.patch#L81-L83
Lovely, rhe whole model data system is poorly designed and needs reworking. But if you have a test mod that uses this multipart model system, and can articulate what is expected vs what currently happens, we can make sure to add a test to prevent this from happening again