format version 1.8.0 client entities retroactively broke render controllers variable support
Builds: 1.16.100, 1.16.200
Summary: Newer villagers of the villager_v2 type with changed textures have broken textures
Impact Statement:
Instead of seeing the correct texture for each villager, it now shows a broken UV map of the entire texture sheet.
Repro Steps:
Download and run the MZO: Cruise ship map https://www.minecraft.net/en-us/pdp?id=c86e81a8-65b1-4f33-b0e4-da707bcfe003 , click the start game button, the look at the trader villager next to you.
Observed Results:
The villager shows a broken UV map of the entire texture sheet.
Expected Results:
The villager should be correctly skinned.
Regression Builds:
1.16.40
Dev Notes:
After looking into it further, it seems when using the 1.8.0 spec, variables set in pre_animation for the client entity cannot be seen by the render controller used by that entity, eg:
in client entity:
"pre_animation": [
"variable.skin_index = 0;"
]
in render controller:
"textures": [
"Array.skins[variable.skin_index]"
]
results in: unhandled request for unknown variable 'variable.skin_index'