diff options
| author | Cow <cow@volloeko.de> | 2020-07-28 18:02:32 +0200 |
|---|---|---|
| committer | Cow <cow@volloeko.de> | 2020-07-28 18:02:32 +0200 |
| commit | 521cc85ee089b4b4fb666b923470eb99455cc6f4 (patch) | |
| tree | 33e51e23c85f84fe0dfe85be9af881714cef93ec /src/main/java/de/cowtipper/cowlection/util | |
| parent | b393636cb3f7e05ef8b34804eeb06357f1b9cfbe (diff) | |
| download | Cowlection-521cc85ee089b4b4fb666b923470eb99455cc6f4.tar.gz Cowlection-521cc85ee089b4b4fb666b923470eb99455cc6f4.tar.bz2 Cowlection-521cc85ee089b4b4fb666b923470eb99455cc6f4.zip | |
Added best friends online check
runs automatically after joining a server or manually with `/moo online`
Diffstat (limited to 'src/main/java/de/cowtipper/cowlection/util')
| -rw-r--r-- | src/main/java/de/cowtipper/cowlection/util/ApiUtils.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/main/java/de/cowtipper/cowlection/util/ApiUtils.java b/src/main/java/de/cowtipper/cowlection/util/ApiUtils.java index 763084d..8b37cf7 100644 --- a/src/main/java/de/cowtipper/cowlection/util/ApiUtils.java +++ b/src/main/java/de/cowtipper/cowlection/util/ApiUtils.java @@ -11,6 +11,8 @@ import de.cowtipper.cowlection.data.Friend; import de.cowtipper.cowlection.data.HyPlayerData; import de.cowtipper.cowlection.data.HySkyBlockStats; import de.cowtipper.cowlection.data.HyStalkingData; +import de.cowtipper.cowlection.event.ApiErrorEvent; +import net.minecraftforge.common.MinecraftForge; import org.apache.http.HttpStatus; import java.io.BufferedReader; @@ -101,17 +103,19 @@ public class ApiUtils { return null; } - public static void fetchPlayerOfflineStatus(Friend stalkedPlayer, ThrowingConsumer<HyPlayerData> action) { - pool.execute(() -> action.accept(stalkOfflinePlayer(stalkedPlayer))); + public static void fetchHyPlayerDetails(Friend stalkedPlayer, ThrowingConsumer<HyPlayerData> action) { + pool.execute(() -> action.accept(stalkHyPlayer(stalkedPlayer))); } - private static HyPlayerData stalkOfflinePlayer(Friend stalkedPlayer) { + private static HyPlayerData stalkHyPlayer(Friend stalkedPlayer) { try (BufferedReader reader = makeApiCall(String.format(PLAYER_URL, MooConfig.moo, UUIDTypeAdapter.fromUUID(stalkedPlayer.getUuid())))) { if (reader != null) { return GsonUtils.fromJson(reader, HyPlayerData.class); } } catch (IOException | JsonSyntaxException e) { e.printStackTrace(); + ApiErrorEvent event = new ApiErrorEvent(stalkedPlayer.getName()); + MinecraftForge.EVENT_BUS.post(event); } return null; } @@ -119,7 +123,7 @@ public class ApiUtils { private static BufferedReader makeApiCall(String url) throws IOException { HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setConnectTimeout(5000); - connection.setReadTimeout(10000); + connection.setReadTimeout(8000); connection.addRequestProperty("User-Agent", "Forge Mod " + Cowlection.MODNAME + "/" + Cowlection.VERSION + " (" + Cowlection.GITURL + ")"); connection.getResponseCode(); |
