ChangeSkinX

ChangeSkinX

446k Downloads

Tried converting player name to uuid from third-party api

ziceptor opened this issue · 17 comments

commented

forge-1.11.2-13.20.0.2201-universal.jar
spongeforge-1.11.2-2201-6.0.0-BETA-2023.jar
ChangeSkin.jar latest

`[19:55:32] [Server thread/INFO] [nucleus]: ziceptor ran the command: /setskin blabla

Exception in thread "Thread-18"  эт 11, 2017 7:55:33 PM com.github.games647.changeskin.core.MojangSkinApi getUUIDFromAPI
SEVERE: Tried converting player name to uuid from third-party api
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2
at com.google.gson.Gson.fromJson(Gson.java:815)
at com.google.gson.Gson.fromJson(Gson.java:768)
at com.google.gson.Gson.fromJson(Gson.java:717)
at com.google.gson.Gson.fromJson(Gson.java:689)
at com.github.games647.changeskin.core.MojangSkinApi.getUUIDFromAPI(MojangSkinApi.java:103)
at com.github.games647.changeskin.core.MojangSkinApi.getUUID(MojangSkinApi.java:61)
at com.github.games647.changeskin.sponge.tasks.NameResolver.run(NameResolver.java:42)
at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$0(Task.java:138)
at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:183)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2
at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:338)
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:70)
at com.google.gson.Gson.fromJson(Gson.java:803)
... 13 more
`

commented

Response of the third-party author

{
"error": "This API has been removed due to causing more issues than it's worth fixing."
}

Sadly. mcapi.ca was the best service so far.

commented

I'm not sure. Maybe this will help? Unfortunately there is no English. But you can use a translator.
http://docs.ely.by/skin-system.html

commented

It doesn't provide the data I need. A digital signature by Mojang is required otherwise the minecraft client will decline to accept the skin data.

commented

This will help in solving the problem?

https://mineskin.org/
MineSkin.org allows you to generate skin texture data signed by Mojang.
These can be used on ingame skull blocks or to change a player's skin using some packet magic :).

[Lib] MineskinSponge - Easy texture to skin conversion
https://forums.spongepowered.org/t/lib-mineskinsponge-easy-texture-to-skin-conversion/16293

commented

The goal of mineskin is only to generate custom skins not download them.

commented

This is an unofficial client.

commented

Sad. A dead end.

commented

Not the same. TLauncher is patch supported version of Minecraft automatically.

commented

There is a plugin (Bukkit/Spigot/Sponge). In 1.11.2 doesn't work. On 1.10.2 is not checked. I think you would be interested. ely.by/skinsystem-plugin/elyby-skinsystem-0.1.1.jar

http://ely.by/u1080182/posts/172288

commented

Any news?

commented

I found no alternative solution sorry.

commented

Another question. Request to mojang is sent at every change of skin? Or load from the cache?

commented

No it caches it in memory and in the database

commented

That is enough to have one license client? Others will be able to install from the cache?

commented

yes they will be only downloaded once

commented

TLauncher (http://tlaun.ch/jar) somehow works with Ely.by. Unfortunately there is no source code. It is possible to decompile. Is it possible to integrate the plugin?

commented

So this is a mod?