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

2 Antworten

Vom Fragesteller 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 
Fragesteller
 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

0

Ö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