Fix multi-part model inventory rendering #4629
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After #4268 multi-part models (ones with
submodels
entry in blockstate) are rendered with transformation applied twice. This can be observed for example with test models from animation debug mod (spinning engine-thing) - in inventory it's smaller than expected and rotated at weird angle.Variant state (defined in
transform
in JSON) currently is passed to model here (comment is invalid, state is applied to sub-models much later, during baking) and later used asIModel.getDefaultState
return, but is also applied here - directly from variant.Since other custom models don't know about variant transform, I'm removing that information from
MultiModel
and keep it applied duringWeightedRandomModel
construction - that way transform is applied to all models.Other models (custom or vanilla) are unaffected, since they pass through
ForgeVariant.process
unaffected (see here).