Cache UUID results
This commit is contained in:
parent
330ed28992
commit
8670f13879
|
@ -5,6 +5,8 @@ import javax.swing.border.EmptyBorder;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import mineplex.googlesheets.util.SkinFetcher;
|
import mineplex.googlesheets.util.SkinFetcher;
|
||||||
|
@ -13,6 +15,8 @@ import mineplex.googlesheets.util.UUIDFetcher;
|
||||||
public class SkinHelperUI extends JFrame
|
public class SkinHelperUI extends JFrame
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private static final Map<String, String> UUID_CACHE = new HashMap<>();
|
||||||
|
|
||||||
private static final Font FONT = new Font("Verdana", Font.PLAIN, 12);
|
private static final Font FONT = new Font("Verdana", Font.PLAIN, 12);
|
||||||
private static final long FETCH_WAIT_TIME = 30;
|
private static final long FETCH_WAIT_TIME = 30;
|
||||||
private static final long FETCH_WAIT_MILLISECONDS = TimeUnit.SECONDS.toMillis(FETCH_WAIT_TIME);
|
private static final long FETCH_WAIT_MILLISECONDS = TimeUnit.SECONDS.toMillis(FETCH_WAIT_TIME);
|
||||||
|
@ -97,7 +101,16 @@ public class SkinHelperUI extends JFrame
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String[] skinData = SkinFetcher.getSkinData(UUIDFetcher.getPlayerUUIDNoDashes(txtMinecraftName.getText()));
|
String input = txtMinecraftName.getText();
|
||||||
|
String uuid = UUID_CACHE.get(input);
|
||||||
|
|
||||||
|
if (uuid == null)
|
||||||
|
{
|
||||||
|
uuid = UUIDFetcher.getPlayerUUIDNoDashes(input);
|
||||||
|
UUID_CACHE.put(input, uuid);
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] skinData = SkinFetcher.getSkinData(uuid);
|
||||||
|
|
||||||
txtSkinValue.setText(skinData[0]);
|
txtSkinValue.setText(skinData[0]);
|
||||||
txtSkinSignature.setText(skinData[1]);
|
txtSkinSignature.setText(skinData[1]);
|
||||||
|
|
|
@ -14,28 +14,11 @@ public class SkinFetcher
|
||||||
JSONObject object = UtilJSON.getFromURL(SKIN_URL.replaceFirst("UUID", uuid));
|
JSONObject object = UtilJSON.getFromURL(SKIN_URL.replaceFirst("UUID", uuid));
|
||||||
JSONArray properties = (JSONArray) object.get("properties");
|
JSONArray properties = (JSONArray) object.get("properties");
|
||||||
|
|
||||||
System.out.println(properties.size());
|
|
||||||
|
|
||||||
for (Object o : properties)
|
|
||||||
{
|
|
||||||
System.out.println(o.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
JSONObject innerObject = (JSONObject) properties.get(0);
|
JSONObject innerObject = (JSONObject) properties.get(0);
|
||||||
|
|
||||||
System.out.println(innerObject.size());
|
|
||||||
|
|
||||||
for (Object o : innerObject.entrySet())
|
|
||||||
{
|
|
||||||
System.out.println(o.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
skinData[1] = (String) innerObject.get("signature");
|
skinData[1] = (String) innerObject.get("signature");
|
||||||
skinData[0] = (String) innerObject.get("value");
|
skinData[0] = (String) innerObject.get("value");
|
||||||
|
|
||||||
System.out.println(skinData[0]);
|
|
||||||
System.out.println(skinData[1]);
|
|
||||||
|
|
||||||
return skinData;
|
return skinData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue