2019-05-10 11:20:39 +03:00
|
|
|
package customskinloader.loader.jsonapi;
|
|
|
|
|
|
2021-05-25 12:55:42 +08:00
|
|
|
import java.util.List;
|
2021-04-24 10:33:18 +08:00
|
|
|
import java.util.Map;
|
|
|
|
|
|
2021-05-25 12:55:42 +08:00
|
|
|
import com.google.common.collect.Lists;
|
2019-05-10 11:20:39 +03:00
|
|
|
import com.google.gson.Gson;
|
|
|
|
|
import com.mojang.authlib.minecraft.MinecraftProfileTexture;
|
|
|
|
|
import customskinloader.loader.JsonAPILoader;
|
2021-05-25 12:55:42 +08:00
|
|
|
import customskinloader.plugin.ICustomSkinLoaderPlugin;
|
2019-05-10 11:20:39 +03:00
|
|
|
import customskinloader.profile.ModelManager0;
|
|
|
|
|
import customskinloader.profile.UserProfile;
|
|
|
|
|
|
2021-05-25 12:55:42 +08:00
|
|
|
public class GlitchlessAPI implements JsonAPILoader.IJsonAPI {
|
2021-04-24 10:33:18 +08:00
|
|
|
|
2021-05-25 12:55:42 +08:00
|
|
|
public static class GlitchlessGames extends JsonAPILoader.DefaultProfile {
|
2023-01-11 22:06:58 +08:00
|
|
|
public GlitchlessGames(JsonAPILoader loader) {
|
|
|
|
|
super(loader);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getName() {
|
|
|
|
|
return "GlitchlessGames";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getPriority() {
|
|
|
|
|
return 700;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getRoot() {
|
|
|
|
|
return "https://games.glitchless.ru/api/minecraft/users/profiles/textures/?nickname=";
|
|
|
|
|
}
|
2021-05-25 12:55:42 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<ICustomSkinLoaderPlugin.IDefaultProfile> getDefaultProfiles(JsonAPILoader loader) {
|
|
|
|
|
return Lists.newArrayList(new GlitchlessGames(loader));
|
2021-04-24 10:33:18 +08:00
|
|
|
}
|
2019-05-10 11:20:39 +03:00
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String toJsonUrl(String root, String username) {
|
|
|
|
|
return root + username;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public UserProfile toUserProfile(String root, String json, boolean local) {
|
|
|
|
|
GlitchlessApiResponse result = new Gson().fromJson(json, GlitchlessApiResponse.class);
|
|
|
|
|
if (!result.textures.containsKey(MinecraftProfileTexture.Type.SKIN))
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
return ModelManager0.toUserProfile(result.textures);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getName() {
|
|
|
|
|
return "GlitchlessAPI";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static class GlitchlessApiResponse {
|
|
|
|
|
protected Map<MinecraftProfileTexture.Type, MinecraftProfileTexture> textures;
|
|
|
|
|
}
|
|
|
|
|
}
|