mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-07-02 04:56:40 +00:00
my end of the bargain
This commit is contained in:
@ -1,68 +1,68 @@
|
||||
package me.totalfreedom.totalfreedommod.util;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.UUID;
|
||||
|
||||
// UUIDFetcher retrieves UUIDs from usernames via web requests to Mojang.
|
||||
public class UUIDFetcher
|
||||
{
|
||||
|
||||
private static final String PROFILE_URL = "https://api.mojang.com/profiles/minecraft";
|
||||
|
||||
public static UUID fetch(String name)
|
||||
{
|
||||
try
|
||||
{
|
||||
Gson gson = new GsonBuilder().create();
|
||||
UUID uuid;
|
||||
String body = gson.toJson(name);
|
||||
URL url = new URL(PROFILE_URL);
|
||||
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
|
||||
connection.setRequestMethod("POST");
|
||||
connection.setRequestProperty("Content-Type", "application/json");
|
||||
connection.setUseCaches(false);
|
||||
connection.setDoInput(true);
|
||||
connection.setDoOutput(true);
|
||||
OutputStream stream = connection.getOutputStream();
|
||||
stream.write(body.getBytes());
|
||||
stream.flush();
|
||||
stream.close();
|
||||
FetchedUuid[] id = gson.fromJson(
|
||||
new InputStreamReader(connection.getInputStream()),
|
||||
FetchedUuid[].class);
|
||||
|
||||
if (id.length == 0 || id[0].getID() == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String idd = id[0].getID();
|
||||
uuid = UUID.fromString(idd.substring(0, 8) + "-" + idd.substring(8, 12)
|
||||
+ "-" + idd.substring(12, 16) + "-" + idd.substring(16, 20) + "-"
|
||||
+ idd.substring(20, 32));
|
||||
return uuid;
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
FLog.severe(ex);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static class FetchedUuid
|
||||
{
|
||||
|
||||
private String id;
|
||||
|
||||
public String getID()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
}
|
||||
package me.totalfreedom.totalfreedommod.util;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.UUID;
|
||||
|
||||
// UUIDFetcher retrieves UUIDs from usernames via web requests to Mojang.
|
||||
public class UUIDFetcher
|
||||
{
|
||||
|
||||
private static final String PROFILE_URL = "https://api.mojang.com/profiles/minecraft";
|
||||
|
||||
public static UUID fetch(String name)
|
||||
{
|
||||
try
|
||||
{
|
||||
Gson gson = new GsonBuilder().create();
|
||||
UUID uuid;
|
||||
String body = gson.toJson(name);
|
||||
URL url = new URL(PROFILE_URL);
|
||||
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
|
||||
connection.setRequestMethod("POST");
|
||||
connection.setRequestProperty("Content-Type", "application/json");
|
||||
connection.setUseCaches(false);
|
||||
connection.setDoInput(true);
|
||||
connection.setDoOutput(true);
|
||||
OutputStream stream = connection.getOutputStream();
|
||||
stream.write(body.getBytes());
|
||||
stream.flush();
|
||||
stream.close();
|
||||
FetchedUuid[] id = gson.fromJson(
|
||||
new InputStreamReader(connection.getInputStream()),
|
||||
FetchedUuid[].class);
|
||||
|
||||
if (id.length == 0 || id[0].getID() == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String idd = id[0].getID();
|
||||
uuid = UUID.fromString(idd.substring(0, 8) + "-" + idd.substring(8, 12)
|
||||
+ "-" + idd.substring(12, 16) + "-" + idd.substring(16, 20) + "-"
|
||||
+ idd.substring(20, 32));
|
||||
return uuid;
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
FLog.severe(ex);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static class FetchedUuid
|
||||
{
|
||||
|
||||
private String id;
|
||||
|
||||
public String getID()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user