Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-112742

Name of unnamed villager is rendered with TeamColor instead of prefix and suffix of scoreboard team


    • Confirmed

      The bug

      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.

      How to reproduce

      1. Create a team
        /scoreboard teams add colorTest
      2. Leave the world and modify team data in the scoreboard.dat file of the world, with for example NBTExplorer, like this:
        Prefix: "§6"
        TeamColor: "green"
      3. Open the world again
      4. Summon two villagers
        /summon villager ~ ~ ~ {Team:"colorTest"}
        /summon villager ~ ~ ~ {Team:"colorTest",CustomName:"Some name"}
      5. Use the following command
        /say @e[team=colorTest]

        → The villager with the custom name uses the prefix color while the villager without a custom name uses the TeamColor

      Code analysis

      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).

            dinnerbone [Mojang] Nathan Adams
            marcono1234 [Mod] Marcono1234
            1 Vote for this issue
            3 Start watching this issue