Skin.java (1798B)
1 package me.night.nullvalkyrie.util; 2 3 import com.google.gson.JsonObject; 4 import com.google.gson.JsonParser; 5 import com.mojang.authlib.GameProfile; 6 import com.mojang.authlib.properties.Property; 7 import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer; 8 import org.bukkit.entity.Player; 9 10 import java.io.InputStreamReader; 11 import java.net.URL; 12 13 public class Skin { 14 public static String[] getSkin(String name) { 15 try { 16 URL url = new URL("https://api.mojang.com/users/profiles/minecraft/" + name); 17 InputStreamReader reader = new InputStreamReader(url.openStream()); 18 String uuid = JsonParser.parseReader(reader).getAsJsonObject().get("id").getAsString(); 19 URL url2 = new URL("https://sessionserver.mojang.com/session/minecraft/profile/" + uuid + "?unsigned=false"); 20 InputStreamReader reader2 = new InputStreamReader(url2.openStream()); 21 JsonObject properties = JsonParser.parseReader(reader2).getAsJsonObject().get("properties").getAsJsonArray().get(0).getAsJsonObject(); 22 String texture = properties.get("value").getAsString(); 23 String signature = properties.get("signature").getAsString(); 24 return new String[]{texture, signature}; 25 } catch (Exception e) { 26 return new String[]{}; 27 } 28 } 29 30 public static String[] getSkin(Player player) { 31 try { 32 GameProfile profile = ((CraftPlayer) player).getProfile(); 33 Property property = profile.getProperties().get("textures").iterator().next(); 34 String texture = property.getValue(); 35 String signature = property.getSignature(); 36 return new String[]{texture, signature}; 37 } catch (Exception e) { 38 return new String[]{}; 39 } 40 } 41 }