ChangeSkinX

ChangeSkinX

446k Downloads

1.16 support ?

kamil445 opened this issue ยท 8 comments

commented

On latest 1.16.1 Spigot/PaperSpigot got this error when trying to change skin or update:

[19:17:30 WARN]: [ChangeSkin] Task #5115 for ChangeSkin v3.1-SNAPSHOT-1a6697e ge nerated an exception java.lang.IllegalArgumentException: Unable to find a method that matches {modifi ers=[required: 0, banned: 0], params=[{Type: class name of net\.minecraft\.(\p{j avaJavaIdentifierStart}\p{javaJavaIdentifierPart}*\.)+\p{javaJavaIdentifierStart }\p{javaJavaIdentifierPart}*, Index: null}, {Type: Exact class java.lang.String, Index: 0}, {Type: Exact class java.lang.String, Index: 1}, {Type: Exact class j ava.lang.String, Index: 4}], paramCount=5} at com.comphenix.protocol.reflect.FuzzyReflection.getMethod(FuzzyReflect ion.java:174) ~[?:?] at com.comphenix.protocol.utility.MinecraftReflection.getWorldTypeClass( MinecraftReflection.java:1173) ~[?:?] at com.comphenix.protocol.events.PacketContainer.getWorldTypeModifier(Pa cketContainer.java:392) ~[?:?] at com.github.games647.changeskin.bukkit.task.SkinApplier.createRespawnP acket(SkinApplier.java:237) ~[?:?] at com.github.games647.changeskin.bukkit.task.SkinApplier.sendPacketsSel f(SkinApplier.java:179) ~[?:?] at com.github.games647.changeskin.bukkit.task.SkinApplier.sendUpdateSelf (SkinApplier.java:131) ~[?:?] at com.github.games647.changeskin.bukkit.task.SkinApplier.applyInstantUp date(SkinApplier.java:100) ~[?:?] at com.github.games647.changeskin.core.shared.task.SharedApplier.applySk in(SharedApplier.java:27) ~[?:?] at com.github.games647.changeskin.bukkit.task.SkinApplier.run(SkinApplie r.java:88) ~[?:?] at org.bukkit.craftbukkit.v1_16_R1.scheduler.CraftTask.run(CraftTask.jav a:99) ~[patched_1.16.1.jar:git-Paper-44] at org.bukkit.craftbukkit.v1_16_R1.scheduler.CraftScheduler.mainThreadHe artbeat(CraftScheduler.java:468) ~[patched_1.16.1.jar:git-Paper-44] at net.minecraft.server.v1_16_R1.MinecraftServer.b(MinecraftServer.java: 1291) ~[patched_1.16.1.jar:git-Paper-44] at net.minecraft.server.v1_16_R1.DedicatedServer.b(DedicatedServer.java: 377) ~[patched_1.16.1.jar:git-Paper-44] at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java: 1212) ~[patched_1.16.1.jar:git-Paper-44] at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java: 1000) ~[patched_1.16.1.jar:git-Paper-44] at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftSer ver.java:177) ~[patched_1.16.1.jar:git-Paper-44] at net.minecraft.server.v1_16_R1.MinecraftServer$$Lambda$2925/761255214. run(Unknown Source) ~[?:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]

commented

Which version of ProtocolLib do you have?

commented

Latest dev build (tried #467 and #469)

commented

Waiting on dependency input: dmulloy2/ProtocolLib#893

You could disable instant updates for now.

commented

Dimensions got fixed in ProtocolLib, but still crashes... I looked into the protocol and there are changes into the RESPAWN packet.

Old packet is (1.13.1):

image

New packet is (1.16.1):

image

Information is get from here.

commented

Your last picture is for 1.15.2. There are now more flags, which I currently trying to find their meaning.

commented

Yes my bad this is more like it - it has the same packet id as in ProtocolLib.

In another plugin they made the 1.16 changes already.

https://github.com/SkinsRestorer/SkinsRestorerX/blob/master/src/main/java/skinsrestorer/bukkit/skinfactory/LegacySkinRefresher_v1_16_R1.java

It is heavy reflection code but i hope it helps.

commented

Looks like the documentation for 1.16 is hidden behind some clicks. Here you go:

https://wiki.vg/index.php?title=Pre-release_protocol&oldid=15895#Respawn

commented

In another plugin they made the 1.16 changes already.

I'd like to look into the original code (Paper for example), because then I can guarantee maximum compatibility. So it's required to understand Mojang's intentions. There often cases, that the code seems to work, but breaks something else. So I want to make extra sure.

Looking into their code, it's seems like they choose a similar approach. However it seems like they leak the original world seed. I'll report it - maybe I just read it wrong.