Add support for baking multiple models in the standalone API #2135
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.
The current standalone model API currently is designed around baking a single model, loaded from the resource pack. However, Minecraft's other model APIs (e.g.
ItemModel.Unbaked
) work differently, with consumers being responsible for marking dependencies, fetching model(s) from the bakery, and baking them.This adds similar support to the standalone model system, with the addition of a new interface.
This allows mods to implement dynamic models for their modded game content, in the style of
ItemModel
. See this discussion on Discord for more context.In the future it would make sense to remove the
modelId
fromStandaloneModelKey
(as it is no longer tied to a single model), and have an API closer to Fabric's (FabricMC/fabric#4565). I've not done so for now, as it felt like an unnecessary breaking change, but happy to do so now if preferred!