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

Client caches skin purely by UUID

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Resolution: Duplicate
    • Affects Version/s: Minecraft 1.8.8, Minecraft 1.13
    • Fix Version/s: None
    • Labels:
      None
    • Confirmation Status:
      Plausible

      Description

      If a world contains 2 player skulls, each of the same players UUID, but each with a different texture ID (Obtained at 2 different time periods), the client will show alternating skin textures on the skulls.

      The root issue lies that the skin cache in the client checks by GameProfile which the equals method only checks by name and uuid.

      So when the client looks at a skull after the 15s cache expires, it will get one of the skins, cache it, and use it for both.

      The client should show the correct skin for each skull, and simplest way to do that is to make the texture id also part of the cache key.

        Attachments

        1. heads_reloggedin.png
          heads_reloggedin.png
          61 kB
        2. heads_payloadbased.png
          heads_payloadbased.png
          161 kB
        3. heads_created.png
          heads_created.png
          121 kB

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              aikar Aikar
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                CHK: