Make TextureVariable references align with game behaviour #525
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.
While the current implementation of reference handling in this class was the correct way to go (only handling texture names starting with # as references), the game is happy to accept references without a leading hashtag, since it just chops it off and continues on the same code path regardless.
This commit makes the reference handling in BlueMap align with this behaviour, potentially allowing "broken" models to render as they do in game.
This method works for reference resolving, since if a string passed into the texture field contains a ':' then it must be a namespaced key, and if it contains a '/' it has to be a resource key, because the 'minecraft' namespace is implied in these cases. The other way around, if someone were to pass in a string like 'oak_planks', it is safe to assume it is a reference, since the implied resource key would be 'minecraft:oak_planks', but textures aren't at the root level in that namespace.