Universal ChangeSkin 3.0

Allows your players to change their skins by command | Restore cracked skins | Instant updates

  1. Outdated ProtocolLib
    1. Unless you are using the upload command. Everything is local to the server.

    2. you can use the skin select command and then choose the skin id saved into the database.
     
  2. fix this
    [20:04:08] [ChangeSkin Pool Thread #267/ERROR] [ChangeSkin]: Tried converting player name: NewKiller to uuid
    java.net.SocketTimeoutException: connect timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_181]
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_181]
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_181]
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_181]
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_181]
    at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_181]
    at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673) ~[?:1.8.0_181]
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175) ~[?:1.8.0_181]
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463) ~[?:1.8.0_181]
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558) ~[?:1.8.0_181]
    at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) ~[?:1.8.0_181]
    at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) ~[?:1.8.0_181]
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) ~[?:1.8.0_181]
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1199) ~[?:1.8.0_181]
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050) ~[?:1.8.0_181]
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) ~[?:1.8.0_181]
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564) ~[?:1.8.0_181]
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[?:1.8.0_181]
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[?:1.8.0_181]
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347) ~[?:1.8.0_181]
    at com.github.games647.changeskin.core.MojangSkinApi.getUUID(MojangSkinApi.java:133) ~[?:?]
    at com.github.games647.changeskin.core.MojangSkinApi.getUUID(MojangSkinApi.java:84) ~[?:?]
    at com.github.games647.changeskin.core.shared.task.SharedNameResolver.run(SharedNameResolver.java:34) ~[?:?]
    at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63) ~[FlameCord.jar:git:Travertine-Bootstrap:1.15-SNAPSHOT:9cdd70e:unknown]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
     
  3. If the server cannot reach Mojang, then ChangeSkin couldn't download the skin.
     
  4. You should add a reset skin command.
     
  5. When I Update a skin with /skinupdate I have error in consol:


    [16:18:48]: [WARN] [ChangeSkin] Plugin ChangeSkin v3.1-SNAPSHOT-32931e2 generated an exception while executing task 352430 java.lang.NullPointerException: null at com.github.games647.changeskin.core.model.UUIDTypeAdapter.toMojangId(UUIDTypeAdapter.java:21) ~[?:?] at com.github.games647.changeskin.core.SkinStorage.save(SkinStorage.java:260) ~[?:?] at com.github.games647.changeskin.core.shared.task.SharedApplier.lambda$save$0(SharedApplier.java:45) ~[?:?] at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.14.4.jar:git-Paper-236] at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.14.4.jar:git-Paper-236] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.14.4.jar:git-Paper-236] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at java.lang.Thread.run(Thread.java:834) [?:?]
     
  6. Already received on the bug tracker. Working on it.
     
  7. I get this error on init.

    Code (Java):
    Error occurred while enabling ChangeSkin v3.0 (Is it up to date?)
    java.lang.IllegalArgumentException: Channel must contain : separator (attempted to use ChangeSkin)
            at org.bukkit.plugin.messaging.StandardMessenger.validateAndCorrectChannel(StandardMessenger.java:503) ~[patched_1.15.2.jar:git-Paper-105]
            at org.bukkit.plugin.messaging.StandardMessenger.registerOutgoingPluginChannel(StandardMessenger.java:183) ~[patched_1.15.2.jar:git-Paper-105]
            at com.github.games647.changeskin.bukkit.ChangeSkinBukkit.onEnable(ChangeSkinBukkit.java:62) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.15.2.jar:git-Paper-105]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) ~[patched_1.15.2.jar:git-Paper-105]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:435) ~[patched_1.15.2.jar:git-Paper-105]
            at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:470) ~[patched_1.15.2.jar:git-Paper-105]
            at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:384) ~[patched_1.15.2.jar:git-Paper-105]
            at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:482) ~[patched_1.15.2.jar:git-Paper-105]        at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:298) ~[patched_1.15.2.jar:git-Paper-105]
            at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:885) ~[patched_1.15.2.jar:git-Paper-105]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_231]
    Anything I am doing wrong?
     
  8. You have to update to development build. 3.0 is not compatible with your newer Minecraft version.
     
  9. Now when I type this "/changeskin:skin King". Nothing happens in the console, not an error, not unknown command. Is there a fix for this?
     
  10. Look out for errors at the start. This means that the plugin disabled itself at the beginning.
     
  11. A problem appeared in the past few weeks, looks like plugin can't download skins, it show cached skins, but after /skinupdate it's just steve or alex... Very strange that there's no errors or anything unusual in console.
     
  12. Already reported and fixed: https://github.com/games647/ChangeSkin/issues/187

    TL;DR: Mojang changed their skin response format.
     
    • Winner Winner x 1
  13. Hey there, sorry for bothering you but I just installed the plugin and got the MySQL feature working (I think) on 1.15.2 Paper. Though, when I run /changeskin and type in a username who has not joined before. Any idea how to fix it? Could it be because ProtocolLib is still in beta for 1.15.2?
    Code (Text):
    [ChangeSkin] Task #3951 for ChangeSkin v3.0 generated an exception
    com.comphenix.protocol.reflect.FieldAccessException: No field with type int exists in class PacketPlayOutRespawn.
    at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:363) ~[?:?]
    at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:343) ~[?:?]
    at com.github.games647.changeskin.bukkit.tasks.SkinUpdater.sendPacketsSelf(SkinUpdater.java:169) ~[?:?]
    at com.github.games647.changeskin.bukkit.tasks.SkinUpdater.sendUpdateSelf(SkinUpdater.java:121) ~[?:?]
    at com.github.games647.changeskin.bukkit.tasks.SkinUpdater.sendUpdate(SkinUpdater.java:102) ~[?:?]
    at com.github.games647.changeskin.bukkit.tasks.SkinUpdater.onInstantUpdate(SkinUpdater.java:94) ~[?:?]
    at com.github.games647.changeskin.bukkit.tasks.SkinUpdater.run(SkinUpdater.java:80) ~[?:?]
    at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.15.2.jar:git-Tuinity-"2520d73"]
    at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:461) ~[patched_1.15.2.jar:git-Tuinity-"2520d73"]
    at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1310) ~[patched_1.15.2.jar:git-Tuinity-"2520d73"]
    at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:431) ~[patched_1.15.2.jar:git-Tuinity-"2520d73"]
    at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1227) ~[patched_1.15.2.jar:git-Tuinity-"2520d73"]
    at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:958) ~[patched_1.15.2.jar:git-Tuinity-"2520d73"]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
    Honestly not sure. Thanks for the help!
     
  14. https://github.com/games647/ChangeSkin/issues/153

    Just update ChangeSkin to dev build. It was fixed a long time ago.
     
    • Friendly Friendly x 1
  15. [18:52:57 WARN] [changeskin.hikari.pool.PoolBase]: HikariPool-1 - Failed to validate connection [email protected] (No operations allowed after connection closed.)
     
  16. Then there should be an earlier message.