Slimefun

Slimefun

3M Downloads

Custom Player Heads are no Longer Working

iLuckyx opened this issue · 8 comments

commented

❗ 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?

📑 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

Build 246
image

Build 247
image

📜 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
commented

No startup errors as well - https://pastebin.com/ugP16vD4

commented

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());

commented

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

commented

❗ 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?

📑 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

Build 246 image

Build 247 image

📜 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

i have same issue

commented

paper builds from 247-249 have an issue. after 249 they have what i read is hotfix, but a permanent one is coming.

commented

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

commented

I believe from what I have read is that this will need to be fixed on the plugin level. The "fix" they have discussed is too allow plugins to still use an incorrect way of some form of handling. (Don't quote me I'm not a dev to really understand the lingo.)