Some valid 1.20.2 skulls do not display correctly for older clients
'/viaversion dump' Output
https://dump.viaversion.com/b08b71c1a6bbb7f07f6b1730f9ad267ff4951bfc748b26dc7121d7167142ef5d
Console Error
No response
Bug Description
Skulls with base64 texture data but no Id tag display fine for 1.20.2+ clients, but appear as Steve heads for clients 1.20.1 and older.
Steps to Reproduce
- Install latest ViaVersion and ViaBackwards on a 1.20.2+ server
- Log in with a 1.20.1- client and a 1.20.2+ client
- Run this command in a command block:
/minecraft:give @p minecraft:player_head{display:{Name:'{"text":"Barrel of Peaches"}'},SkullOwner:{Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmJmZmMxZDY0NDA3YTQ2ZThhNjRlNmI0YTIyZDY2YjY3NmJkNWVmYWUwNzFkOTE3NmRiNTFhYjI1NWEzMjdiYSJ9fX0="}]}}} 1
- Place, hold, or wear the given skull so both clients can see it
Expected Behavior
Both clients should be able to see the texture properly, rather than only the 1.20.2 client seeing it.
Additional Server Info
I'm able to reproduce this with no proxy and no plugins other than ViaVersion and ViaBackwards.
Other additional info
XSeries has some code to work around this for different server versions, but since it can't detect the client version it doesn't help when using ViaBackwards: https://github.com/CryptoMorin/XSeries/blob/eaaa6dedbf542ea8a38c6a4726538508d9e4f8e7/src/main/java/com/cryptomorin/xseries/SkullUtils.java#L107-L120 https://github.com/CryptoMorin/XSeries/blob/eaaa6dedbf542ea8a38c6a4726538508d9e4f8e7/src/main/java/com/cryptomorin/xseries/SkullUtils.java#L270-L283
Checklist
- [X] Via plugins are only running on EITHER the backend servers (e.g. Paper) OR the proxy (e.g. BungeeCord), not on both.
- [X] I have included a ViaVersion dump.
- [X] If applicable, I have included a paste (not a screenshot) of the error.
- [X] I have tried a build from https://ci.viaversion.com/ and the issue still persists.
Screenshots
(there was no actual text box on the issue template for them?)

I had similar issue with a heads plugin running on 1.20.4 server, fixed it for new heads replacing:
Bukkit.createProfileExact(UUID.fromString("00000000-0000-0000-0000-000000000000"), null)
with
Bukkit.createProfileExact(UUID.nameUUIDFromBytes(hash.getBytes()), null)
The linked XSeries solution to me seems a bit overengineered and less useful, but maybe I'm missing something.
Seems with ViaBackwards 4.10.2, this does not happen if the server is running MC 1.20.6, but does still happen if the server is running 1.20.2 through 1.20.4.