package sk.tomsik68.mclauncher.impl.login.yggdrasil; import net.minidev.json.JSONArray; import net.minidev.json.JSONObject; import java.util.HashMap; final class YDLoginResponse extends YDResponse { private final String sessionID, clientToken; private final YDPartialGameProfile selectedProfile; private HashMap<String, YDPartialGameProfile> profiles = new HashMap<String, YDPartialGameProfile>(); private YDUserObject user; public YDLoginResponse(JSONObject json) { super(json); sessionID = json.get("accessToken").toString(); clientToken = json.get("clientToken").toString(); selectedProfile = new YDPartialGameProfile((JSONObject) json.get("selectedProfile")); JSONArray profiles = (JSONArray) json.get("availableProfiles"); if (profiles != null) { for (Object object : profiles) { JSONObject jsonObj = (JSONObject) object; YDPartialGameProfile p = new YDPartialGameProfile(jsonObj); this.profiles.put(p.getName(), p); } } if (json.containsKey("user")) user = new YDUserObject((JSONObject) json.get("user")); } public String getSessionID() { return sessionID; } public String getClientToken() { return clientToken; } public YDPartialGameProfile getSelectedProfile() { return selectedProfile; } public YDPartialGameProfile getProfile(String name) { return profiles.get(name); } public YDUserObject getUserObject() { if (user == null) { user = new YDUserObject(selectedProfile.getName()); } return user; } }