Remove WebUtils, MojangUtils, and ashcon and replace references of WebUtils with DataUtils#getPlayer(String username)

This commit is contained in:
Taah
2023-08-31 02:48:02 -07:00
parent cc9967f9c2
commit bc8c89449e
6 changed files with 13 additions and 186 deletions

View File

@ -1,50 +0,0 @@
package dev.plex.util;
import com.google.gson.annotations.SerializedName;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.ZonedDateTime;
@Getter
@Setter
public class AshconInfo
{
private String uuid;
private String username;
@SerializedName("username_history")
private UsernameHistory[] usernameHistories;
private Textures textures;
@Getter
@Setter
@NoArgsConstructor
public static class UsernameHistory
{
private String username;
@SerializedName("changed_at")
private ZonedDateTime zonedDateTime;
}
@Getter
@Setter
@NoArgsConstructor
public static class Textures
{
private boolean custom;
private boolean slim;
private SkinData raw;
}
@Getter
@Setter
@NoArgsConstructor
public static class SkinData
{
private String value;
private String signature;
}
}

View File

@ -1,62 +0,0 @@
package dev.plex.util;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializer;
import dev.plex.Plex;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
public class MojangUtils
{
public static AshconInfo getInfo(String nameOrUuid)
{
CloseableHttpClient client = HttpClients.createDefault();
HttpGet get = new HttpGet("https://api.ashcon.app/mojang/v2/user/" + nameOrUuid);
try
{
HttpResponse response = client.execute(get);
if (response == null || response.getEntity() == null)
{
return null;
}
String json = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
JSONObject object = new JSONObject(json);
if (!object.isNull("code") && object.getInt("code") == 404)
{
return null;
}
client.close();
AshconInfo ashconInfo = new GsonBuilder().registerTypeAdapter(ZonedDateTime.class, (JsonDeserializer<ZonedDateTime>) (json1, typeOfT, context) ->
ZonedDateTime.ofInstant(Instant.from(DateTimeFormatter.ISO_INSTANT.parse(json1.getAsJsonPrimitive().getAsString())), ZoneId.of(Plex.get().config.getString("server.timezone")))).create().fromJson(json, AshconInfo.class);
Arrays.sort(ashconInfo.getUsernameHistories(), (o1, o2) ->
{
if (o1.getZonedDateTime() == null || o2.getZonedDateTime() == null)
{
return 1;
}
return o1.getZonedDateTime().compareTo(o2.getZonedDateTime());
});
return ashconInfo;
}
catch (IOException e)
{
e.printStackTrace();
return null;
}
}
}

View File

@ -1,52 +0,0 @@
package dev.plex.util;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.UUID;
public class WebUtils
{
public static Object simpleGET(String url)
{
try
{
URL u = new URL(url);
HttpURLConnection connection = (HttpURLConnection) u.openConnection();
connection.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder content = new StringBuilder();
while ((line = in.readLine()) != null)
{
content.append(line);
}
in.close();
connection.disconnect();
return new JSONParser().parse(content.toString());
}
catch (IOException | ParseException ex)
{
return null;
}
}
public static UUID getFromName(String name)
{
JSONObject profile;
profile = (JSONObject) simpleGET("https://api.ashcon.app/mojang/v2/user/" + name);
if (profile == null)
{
PlexLog.error("Profile from Ashcon API returned null!");
return null;
}
String uuidString = (String) profile.get("uuid");
return UUID.fromString(uuidString);
}
}