Fix broken mojang api request
This commit is contained in:
parent
4db8f970ef
commit
17af2cee50
2 changed files with 15 additions and 14 deletions
|
@ -46,9 +46,8 @@ public class CheckFunction {
|
|||
|
||||
TagFunction.loadPlayer(playerUUID, true);
|
||||
|
||||
List<String> names = PlayerInfo.playerUUIDToNames(playerUUID);
|
||||
for (int i = 1; i <= names.size(); i++)
|
||||
source.sendFeedback(Text.of(i + ". " + names.get(i-1)));
|
||||
String name = PlayerInfo.playerUUIDToName(playerUUID);
|
||||
source.sendFeedback(Text.of(name));
|
||||
|
||||
List<DB_Tag> tags = DB_Tag.getTagsFromPlayer(DB_Player.getPlayer(playerUUID));
|
||||
if (tags.size() > 0) {
|
||||
|
|
|
@ -57,6 +57,8 @@ public class PlayerInfo {
|
|||
if (responseJSON.containsKey("name") && ! ((String)responseJSON.get("name")).equalsIgnoreCase(playerName))
|
||||
return null;
|
||||
|
||||
LOGGER.info("player: " + playerName + " is: " + responseJSON.get("id"));
|
||||
|
||||
return (String) responseJSON.get("id");
|
||||
|
||||
} catch (Exception ex) {
|
||||
|
@ -65,20 +67,22 @@ public class PlayerInfo {
|
|||
}
|
||||
}
|
||||
|
||||
public static List<String> playerUUIDToNames(String playerUUID) throws MojangUtilException {
|
||||
//changed due to API changes ...
|
||||
public static String playerUUIDToName(String playerUUID) throws MojangUtilException {
|
||||
try {
|
||||
HttpClient httpClient = HttpClientBuilder.create().build();
|
||||
HttpGet request = new HttpGet("https://api.mojang.com/user/profiles/" + playerUUID.replaceAll("-", "") + "/names");
|
||||
HttpGet request = new HttpGet("https://api.mojang.com/user/profile/" + playerUUID.replaceAll("-", ""));
|
||||
HttpResponse response = httpClient.execute(request);
|
||||
|
||||
List<String> ret = new ArrayList<>();
|
||||
|
||||
// take the response body as a json formatted string
|
||||
for (Object responseJSON : (JSONArray) new JSONParser().parse(EntityUtils.toString(response.getEntity()))) {
|
||||
ret.add((String) ((JSONObject)responseJSON).get("name"));
|
||||
}
|
||||
JSONObject responseJSON = (JSONObject) new JSONParser().parse(EntityUtils.toString(response.getEntity()));
|
||||
//doublecheck correct name
|
||||
if (responseJSON.containsKey("id") && ! ((String)responseJSON.get("id")).equalsIgnoreCase(playerUUID.replaceAll("-", "")))
|
||||
return null;
|
||||
|
||||
return ret;
|
||||
LOGGER.info("player: " + playerUUID + " is: " + responseJSON.get("name"));
|
||||
|
||||
return (String) responseJSON.get("name");
|
||||
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("Could not parse UUID to username!", e);
|
||||
|
@ -87,8 +91,6 @@ public class PlayerInfo {
|
|||
}
|
||||
|
||||
public static String playerUUIDToCurrentName(String playerUUID) throws MojangUtilException {
|
||||
List<String> playernames = playerUUIDToNames(playerUUID);
|
||||
|
||||
return playernames.get(playernames.size() - 1);
|
||||
return playerUUIDToName(playerUUID);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue