Custom Player Heads are no Longer Working
iLuckyx opened this issue · 8 comments
❗ Checklist
- I am using the official english version of Slimefun and did not modify the jar.
- I am using an up to date "DEV" (not "RC") version of Slimefun.
- I am aware that issues related to Slimefun addons need to be reported on their bug trackers and not here.
- I searched for similar open issues and could not find an existing bug report on this.
📍 Description
Due to a major exploit available on versions 1.20.1 of Paper, we were forced to update to 1.20.2. Since then, we have noticed that all of the custom heads within the Slimefun guide and Slimefun as a whole, are just Steve/non-textured heads. After discussing within #bug-discussions, it was mentioned that another plugin had this same issue; Vehicles. The plugin devs found that this started with paper build #247.
From my testing, this is 100% true. Build 246 of Paper it works, build 247, all the player heads no longer have textures.
Here is some additional information to what I have found investigating:
Note: Some of this might be completely useless but since I've spent hours, I will be listing everything I have found.
- 1.20.2 has changed the way skulls/player heads are handled. Apparently, they now need both a UUID and NAME to be specified.
- When using Minecraft's give command to give myself my own player head, this is the output of
/paper dumpitem
:
minecraft:player_head{SkullOwner:{Id:[I;-1413460822,-750763633,-1892653176,-501695085],Name:"iiLucky_",Properties:{textures:[{Signature:"I0crRsXyUywVwZD2IGkPgLANPS7ccdCZFWUwox9EXchrxNATMJbZ4u7WhqZqZYJl+HhTKDmu/K/gPs9laPqR4mVKy516kpkXYVUuupVELLWHBfROJi1ON3S6Gvcs56scSyePIm68RBKSvrNm8PJDSsGI9HHO2tm3p497kawSipIjHiEBOOm6AEcfssyKB9Lav/eARaaACr0u4Vxf6GHIFKB4SThOoVmtYswIjW2gsuJCu3obEEGctD0Q0BaAnFZt2L04bfDMtcMbtXznAV+O3hc5jOqaB0Gde+aDsTY4Pxd1TQYkruVTm8I+7IEEENXWNBL7B0bhhj7W60czwOZ5pB5vbz3dg41m2woaRnD/CjfYIrECznJo8Fj2aHpH7+fFJFq/5TcQiR0sbGtU0eGqL57P3o03s+l+X2GwG69ZRPOBeQOemdoRFbZxWPcEBQllghJpy9c0mVCnAx0kciEl6HU9fLluHjMf47gZO4Z60pRLpJ2PwHwtwz413wSTTipfuJ79fVspAVu9E5/n7tZl5xee7a5COkBid8HkqcvsDFge98lBcbrr1xXs7L5lZCPKhmDcnm818+J0b0hpm6BRCwEj3fBYUf7q4Qz/YCGfydgQWTF7YEA1GQY/ZZu6bUA3koTT6gEqXFs7v6C5nT6oDyagjOl+1Hb4M2MfYBQ4az4=",Value:"ewogICJ0aW1lc3RhbXAiIDogMTY5OTkzOTYyMDE3OSwKICAicHJvZmlsZUlkIiA6ICJhYmMwNGNhYWQzNDA0MThmOGYzMDY3ODhlMjE4YmQ5MyIsCiAgInByb2ZpbGVOYW1lIiA6ICJpaUx1Y2t5XyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iOGJkOTJhZDk3ZjJhMjc2NDMwZDI4ZTNjZTkzOTAwNjI2M2RmMjRiN2ZmMzZhM2E3NWMwNmY3YThkMDllOTk4IgogICAgfQogIH0KfQ=="}]}}}
Command:
/minecraft:give iiLucky_ minecraft:player_head{SkullOwner:iiLucky_}
Compared to the radiant backpack:
minecraft:player_head{PublicBukkitValues:{"slimefun:slimefun_item":"RADIANT_BACKPACK"},SkullOwner:{Id:[I;-198377739,1921335127,-1218858788,793121819],Name:"CS-CoreLib"},display:{Lore:['{"text":""}','{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"gray","text":"Size: "},{"italic":false,"color":"yellow","text":"54 (Double chest)"}],"text":""}','{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"gray","text":"ID: <ID>"}],"text":""}','{"text":""}','{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"yellow","text":"Right Click"},{"italic":false,"color":"gray","text":" to open"}],"text":""}'],Name:'{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"yellow","text":"Radiant Backpack"}],"text":""}'}}
It seems later version might depend on the "Properties:{textures:" within the NBT?
- Paper build 246 to 247 is an Updated Upstream commit outlined here: PaperMC/Paper#9861. Once of those commits being f4d977e79 Simplify texture updating in CraftMetaSkull which can be found here: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/commits/f4d977e794bc39db94711cd0b66addc92b8c3a3c#src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
📑 Reproduction Steps
Download any version of paper after build 247.
Install latest version of Slimefun
View the Slimefun Guide, all player heads will be default.
💡 Expected Behavior
The player heads should contain their textures.
📷 Screenshots / Videos
📜 Server Log
No response
📂 /error-reports/
folder
No response
💻 Server Software
Paper
🎮 Minecraft Version
1.20.x
⭐ Slimefun version
[19:44:25 INFO]: This Server uses the following setup of Slimefun:
Paper git-Paper-250 (MC: 1.20.2)
Slimefun DEV - 1104 (git c977454e)
Metrics-Module #29
Java 17
Installed Addons: (16)
Networks vDEV - 50 (git 3de3c9d6)
ExtraTools vDEV - 36 (git 922c0324)
HotbarPets vDEV - 38 (git fa6c871d)
SimpleMaterialGenerators v1.0.0
HeadLimiter vDEV - 15 (git 66d18f52)
ExoticGarden vUNOFFICIAL
InfinityExpansion vMODIFIED
Supreme vDEV - 29 (git f9e70053)
SlimeCustomizer vDEV - 30 (git 6f0bf930)
LiteXpansion vDEV - 192 (git 661862ed)
WhatIsThis v5.3
Netheopoiesis vMODIFIED
MobCapturer vDEV - 33 (git 6fc26c35)
FlowerPower vDEV - 16 (git 5a38d1c6)
TranscEndence vDEV - 41 (git 98d7d47e)
FluffyMachines vDEV - 132 (git ccf029ba)
🧭 Other plugins
[19:44:40 INFO]: Server Plugins (29):
[19:44:40 INFO]: Bukkit Plugins:
[19:44:40 INFO]: - Essentials, ExoticGarden, ExtraTools, FlowerPower, FluffyMachines, GhostScavengerHunt, HeadLimiter, HotbarPets, InfinityExpansion, LiteXpansion
[19:44:40 INFO]: LuckPerms, map-ads, maps, MobCapturer, Netheopoiesis, Networks, ProtocolLib, PyroFishingPro, PyroLib, QuickShop-Hikari
[19:44:40 INFO]: SimpleAdvertising, SimpleMaterialGenerators, SlimeCustomizer, Slimefun, Supreme, ToastedAD, TranscEndence, Vault, WhatIsThis
Found this as well - https://www.spigotmc.org/threads/custom-player-heads-no-longer-working.624082/
No startup errors as well - https://pastebin.com/ugP16vD4
This error gets fired when we do not supres errors for "ratelimiting".
Added this on line 114 on github task.
System.out.println(x.getMessage());
Worked with Jeff and bit on this. Used a modified build to display the error:
[20:08:27 INFO]: [Slimefun] Loading language files...
[20:08:27 ERROR]: Error occurred while enabling Slimefun v4.9-UNOFFICIAL (Is it up to date?)
java.lang.NullPointerException: Profile name must not be null
at java.util.Objects.requireNonNull(Objects.java:235) ~[?:?]
at com.mojang.authlib.GameProfile.<init>(GameProfile.java:31) ~[authlib-5.0.47.jar:?]
at org.bukkit.craftbukkit.v1_20_R2.inventory.CraftMetaSkull.setOwningPlayer(CraftMetaSkull.java:250) ~[paper-1.20.2.jar:git-Paper-250]
at io.github.thebusybiscuit.slimefun4.libraries.dough.skins.CustomGameProfile.apply(CustomGameProfile.java:40) ~[Slimefun_v4.9-UNOFFICIAL.jar:?]
at io.github.thebusybiscuit.slimefun4.libraries.dough.skins.PlayerHead.lambda$getItemStack$1(PlayerHead.java:53) ~[Slimefun_v4.9-UNOFFICIAL.jar:?]
at io.github.thebusybiscuit.slimefun4.libraries.dough.skins.PlayerHead.getItemStack(PlayerHead.java:63) ~[Slimefun_v4.9-UNOFFICIAL.jar:?]
at io.github.thebusybiscuit.slimefun4.libraries.dough.skins.PlayerHead.getItemStack(PlayerHead.java:51) ~[Slimefun_v4.9-UNOFFICIAL.jar:?]
at io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils.getCustomHead(SlimefunUtils.java:246) ~[Slimefun_v4.9-UNOFFICIAL.jar:?]
at io.github.thebusybiscuit.slimefun4.core.services.localization.Language.<init>(Language.java:52) ~[Slimefun_v4.9-UNOFFICIAL.jar:?]
at io.github.thebusybiscuit.slimefun4.core.services.LocalizationService.<init>(LocalizationService.java:67) ~[Slimefun_v4.9-UNOFFICIAL.jar:?]
at io.github.thebusybiscuit.slimefun4.implementation.Slimefun.onPluginStart(Slimefun.java:302) ~[Slimefun_v4.9-UNOFFICIAL.jar:?]
at io.github.thebusybiscuit.slimefun4.implementation.Slimefun.onEnable(Slimefun.java:246) ~[Slimefun_v4.9-UNOFFICIAL.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[paper-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:189) ~[paper-1.20.2.jar:git-Paper-250]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.2.jar:git-Paper-250]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R2.CraftServer.enablePlugin(CraftServer.java:644) ~[paper-1.20.2.jar:git-Paper-250]
at org.bukkit.craftbukkit.v1_20_R2.CraftServer.enablePlugins(CraftServer.java:555) ~[paper-1.20.2.jar:git-Paper-250]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:627) ~[paper-1.20.2.jar:git-Paper-250]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:424) ~[paper-1.20.2.jar:git-Paper-250]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:308) ~[paper-1.20.2.jar:git-Paper-250]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1086) ~[paper-1.20.2.jar:git-Paper-250]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:315) ~[paper-1.20.2.jar:git-Paper-250]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
[20:08:27 INFO]: [Slimefun] Disabling Slimefun v4.9-UNOFFICIAL
Found that this might have been a problem before: Slimefun/dough#225
Dynatech also had this same error and was fixed with commit: ProfElements/DynaTech@70b8eef
❗ Checklist
- I am using the official english version of Slimefun and did not modify the jar.
- I am using an up to date "DEV" (not "RC") version of Slimefun.
- I am aware that issues related to Slimefun addons need to be reported on their bug trackers and not here.
- I searched for similar open issues and could not find an existing bug report on this.
📍 Description
Due to a major exploit available on versions 1.20.1 of Paper, we were forced to update to 1.20.2. Since then, we have noticed that all of the custom heads within the Slimefun guide and Slimefun as a whole, are just Steve/non-textured heads. After discussing within #bug-discussions, it was mentioned that another plugin had this same issue; Vehicles. The plugin devs found that this started with paper build #247.
From my testing, this is 100% true. Build 246 of Paper it works, build 247, all the player heads no longer have textures.
Here is some additional information to what I have found investigating: Note: Some of this might be completely useless but since I've spent hours, I will be listing everything I have found.
- 1.20.2 has changed the way skulls/player heads are handled. Apparently, they now need both a UUID and NAME to be specified.
- When using Minecraft's give command to give myself my own player head, this is the output of
/paper dumpitem
:
minecraft:player_head{SkullOwner:{Id:[I;-1413460822,-750763633,-1892653176,-501695085],Name:"iiLucky_",Properties:{textures:[{Signature:"I0crRsXyUywVwZD2IGkPgLANPS7ccdCZFWUwox9EXchrxNATMJbZ4u7WhqZqZYJl+HhTKDmu/K/gPs9laPqR4mVKy516kpkXYVUuupVELLWHBfROJi1ON3S6Gvcs56scSyePIm68RBKSvrNm8PJDSsGI9HHO2tm3p497kawSipIjHiEBOOm6AEcfssyKB9Lav/eARaaACr0u4Vxf6GHIFKB4SThOoVmtYswIjW2gsuJCu3obEEGctD0Q0BaAnFZt2L04bfDMtcMbtXznAV+O3hc5jOqaB0Gde+aDsTY4Pxd1TQYkruVTm8I+7IEEENXWNBL7B0bhhj7W60czwOZ5pB5vbz3dg41m2woaRnD/CjfYIrECznJo8Fj2aHpH7+fFJFq/5TcQiR0sbGtU0eGqL57P3o03s+l+X2GwG69ZRPOBeQOemdoRFbZxWPcEBQllghJpy9c0mVCnAx0kciEl6HU9fLluHjMf47gZO4Z60pRLpJ2PwHwtwz413wSTTipfuJ79fVspAVu9E5/n7tZl5xee7a5COkBid8HkqcvsDFge98lBcbrr1xXs7L5lZCPKhmDcnm818+J0b0hpm6BRCwEj3fBYUf7q4Qz/YCGfydgQWTF7YEA1GQY/ZZu6bUA3koTT6gEqXFs7v6C5nT6oDyagjOl+1Hb4M2MfYBQ4az4=",Value:"ewogICJ0aW1lc3RhbXAiIDogMTY5OTkzOTYyMDE3OSwKICAicHJvZmlsZUlkIiA6ICJhYmMwNGNhYWQzNDA0MThmOGYzMDY3ODhlMjE4YmQ5MyIsCiAgInByb2ZpbGVOYW1lIiA6ICJpaUx1Y2t5XyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iOGJkOTJhZDk3ZjJhMjc2NDMwZDI4ZTNjZTkzOTAwNjI2M2RmMjRiN2ZmMzZhM2E3NWMwNmY3YThkMDllOTk4IgogICAgfQogIH0KfQ=="}]}}}
Command:
/minecraft:give iiLucky_ minecraft:player_head{SkullOwner:iiLucky_}
Compared to the radiant backpack:
minecraft:player_head{PublicBukkitValues:{"slimefun:slimefun_item":"RADIANT_BACKPACK"},SkullOwner:{Id:[I;-198377739,1921335127,-1218858788,793121819],Name:"CS-CoreLib"},display:{Lore:['{"text":""}','{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"gray","text":"Size: "},{"italic":false,"color":"yellow","text":"54 (Double chest)"}],"text":""}','{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"gray","text":"ID: <ID>"}],"text":""}','{"text":""}','{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"yellow","text":"Right Click"},{"italic":false,"color":"gray","text":" to open"}],"text":""}'],Name:'{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"yellow","text":"Radiant Backpack"}],"text":""}'}}
It seems later version might depend on the "Properties:{textures:" within the NBT?
- Paper build 246 to 247 is an Updated Upstream commit outlined here: Updated Upstream (Bukkit/CraftBukkit/Spigot) PaperMC/Paper#9861. Once of those commits being f4d977e79 Simplify texture updating in CraftMetaSkull which can be found here: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/commits/f4d977e794bc39db94711cd0b66addc92b8c3a3c#src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
📑 Reproduction Steps
Download any version of paper after build 247. Install latest version of Slimefun View the Slimefun Guide, all player heads will be default.
💡 Expected Behavior
The player heads should contain their textures.
📷 Screenshots / Videos
📜 Server Log
No response
📂
/error-reports/
folderNo response
💻 Server Software
Paper
🎮 Minecraft Version
1.20.x
⭐ Slimefun version
[19:44:25 INFO]: This Server uses the following setup of Slimefun: Paper git-Paper-250 (MC: 1.20.2) Slimefun DEV - 1104 (git c977454e) Metrics-Module #29 Java 17 Installed Addons: (16) Networks vDEV - 50 (git 3de3c9d6) ExtraTools vDEV - 36 (git 922c0324) HotbarPets vDEV - 38 (git fa6c871d) SimpleMaterialGenerators v1.0.0 HeadLimiter vDEV - 15 (git 66d18f52) ExoticGarden vUNOFFICIAL InfinityExpansion vMODIFIED Supreme vDEV - 29 (git f9e70053) SlimeCustomizer vDEV - 30 (git 6f0bf930) LiteXpansion vDEV - 192 (git 661862ed) WhatIsThis v5.3 Netheopoiesis vMODIFIED MobCapturer vDEV - 33 (git 6fc26c35) FlowerPower vDEV - 16 (git 5a38d1c6) TranscEndence vDEV - 41 (git 98d7d47e) FluffyMachines vDEV - 132 (git ccf029ba)
🧭 Other plugins
[19:44:40 INFO]: Server Plugins (29): [19:44:40 INFO]: Bukkit Plugins: [19:44:40 INFO]: - Essentials, ExoticGarden, ExtraTools, FlowerPower, FluffyMachines, GhostScavengerHunt, HeadLimiter, HotbarPets, InfinityExpansion, LiteXpansion [19:44:40 INFO]: LuckPerms, map-ads, maps, MobCapturer, Netheopoiesis, Networks, ProtocolLib, PyroFishingPro, PyroLib, QuickShop-Hikari [19:44:40 INFO]: SimpleAdvertising, SimpleMaterialGenerators, SlimeCustomizer, Slimefun, Supreme, ToastedAD, TranscEndence, Vault, WhatIsThis
i have same issue
paper builds from 247-249 have an issue. after 249 they have what i read is hotfix, but a permanent one is coming.
i started a new 1.20.2 server with paper version 291 and it is still an issue, so it seems the fix may not have worked, or it did and sf still needs to do an update