[Minecraft/Spigot/Java] Wie kann ich aus einem GameProfile Skins abspeichern?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Der Skin ist im Base64 Format gespeichert und als JSON gepackt :D

Ein teil aus meinem NickSystem:

String props = new String(
Base64.decodeBase64(profile.getProperties().values().iterator().next().getValue()));

JSONObject json = (JSONObject) new JSONParser().parse(props);

if (json.get("textures").toString().equals("{}")) {
profile = GameProfileBuilder.getProfile(profile.getId(), profile.getName(),
"http://textures.minecraft.net/texture/cb3cccd95365c5d85644a536e69b4be58ebfbf16f43cf561786b74da2b8eeb");
}
json.get("textures").toString() //Die Skin-URL als JSON

Die Skin-URL ist "{}" wenn das GameProfile keinen Skin hat. In diesem Fall erstelle ich in meinem Code ein neues GameProfile, mit einem Steve Skin.

Du müsstes theoretisch mal die Skin-URL als JSON in der Konsole ausgeben lassen und kannst dann schauen, wie du an die URL selber kommst.

Wenn ich mich nicht täusche, dann dürfte es so klappen:

json = (JSONObject) new JSONParser().parse(json.get("textures"));

json.get("url").toString(); //Die URL (Hoffentlich xD)

LG Sprax2013

Woher ich das weiß:Hobby – Mehrere Jahre Spiel- und Programmiererfahrung

Felix193 
Beitragsersteller
 10.08.2017, 18:26

Vielen Dank für Deinen Ansatz, schaut bisher sehr logisch aus. Ich bin noch im Urlaub, werde es aber nachdem Urlaub testen. Hoffentlich wird's klappen

Öhm das was du da schreibst sagt mir nicht wirklich viel, da ich mich mit java selbst kaum auskenne
Aber die allgemeine skin datei findest du hier de.namemc.com