Paper
Paper copied to clipboard
Player Heads in advancement icons render incorrectly since Paper 1.20.6+
Since 1.20.6, player heads in advancement icons no longer display the profile skins correctly to the client, without the server running minecraft:reload twice. This happens regardless of whether the server is in online mode, or behind an online proxy.
Expected behavior
Expected behaviour is that upon a server starting or restarting, advancements with player heads for an icon would display correctly for any clients joining, without needing commands being run to reload them.
Observed/Actual behavior
Advancements with player heads render with the default player skins, until minecraft:reload is run twice by a server operator.
Steps/models to reproduce
1.20.4 - Working Correctly
- Create a 1.20.4 server
- Install the
slabservers3-main-1204datapack - Start the server, and grant all advancements
- Observe that the playerhead works correctly for the "Etho's Head" advancement
1.21.1 / 1.20.6+ - Not Working Correctly
- Install the
slabservers4-main-1206datapack - Start the server, and grant all advancements
- Observe that the playerhead does not work correctly for the "Getting Started" advancement
- Run the
minecraft:reloadcommand twice - Observe that the "Getting Started" advancement now renders the player head correctly.
slabservers3-main-1204.zip slabservers4-main-1206.zip
Plugin and Datapack List
Plugins:
N/A
Datapacks:
- slabservers3-main on 1.20.4
- slabservers4-main on 1.20.6+
Paper version
1.21.1:
[16:39:42] [Thread-8/INFO]: This server is running Paper version 1.21.1-17-master@fb53074 (2024-08-16T14:15:24Z) (Implementing API version 1.21.1-R0.1-SNAPSHOT) You are running the latest version
1.20.4:
[16:37:33] [Thread-8/INFO]: This server is running Paper version git-Paper-497 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: d8d54d9 on ver/1.20.4) You are running the latest version
1.20.6:
[16:34:48] [Thread-8/INFO]: This server is running Paper version 1.20.6-148-ver/1.20.6@20f5165 (2024-07-02T15:37:33Z) (Implementing API version 1.20.6-R0.1-SNAPSHOT) You are running the latest version
N.B. Each of these servers was dynamically provisioned for testing purposes, as part of debugging the issue.
Other
Relevant threads from Discord: #1, #2
### Tasks
I cannot replicate this issue. I downloaded the 1206 datapack and loaded it up, and saw the correctly textured head right away. The head is still correct after running the reload command multiple times. Please be sure you are testing this with a vanilla client.
I can confirm that my testing was done with a vanilla client. This issue is extremely consistent and repeatable for me, I firmly do not believe that it is invalid.
I'd imagine this is just spigots race condition relating to how profile fetches on skulls are done, reloading twice gives enough time for the profile to be fetched and in the list. Might be worth just disabling their race in certain areas in order to prevent this, or just remove their patch and tell people to handle this properly in the long run