1.16 support ?
kamil445 opened this issue ยท 8 comments
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]
Waiting on dependency input: dmulloy2/ProtocolLib#893
You could disable instant updates for now.
Your last picture is for 1.15.2. There are now more flags, which I currently trying to find their meaning.
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.
It is heavy reflection code but i hope it helps.
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
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.