The scoreboard team color is stored in the TeamColor tag and in the Prefix and Suffix tag. The TeamColor is in general used to determine which scoreboard objective should be displayed on the sidebar and which team should get team kills.
The problem is that for unnamed villagers this value is used for rendering their name, while for named villagers the prefix and suffix is correctly used.
Because Prefix and Suffix tags exists modifying them using NBT editors should not make this report invalid, because otherwise there would not even be a need for these tags.
- Create a team
- Leave the world and modify team data in the scoreboard.dat file of the world, with for example NBTExplorer, like this:
- Open the world again
- Summon two villagers
- Use the following command
→ The villager with the custom name uses the prefix color while the villager without a custom name uses the TeamColor
Based on 1.11.2 decompiled using MCP 9.35 rc1
The method net.minecraft.entity.passive.EntityVillager.getDisplayName() calls net.minecraft.entity.passive.EntityVillager.getDisplayName() while it should call net.minecraft.scoreboard.ScorePlayerTeam.formatPlayerName(Team, String).