aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/cowtipper/cowlection/util
diff options
context:
space:
mode:
authorCow <cow@volloeko.de>2020-07-28 18:02:32 +0200
committerCow <cow@volloeko.de>2020-07-28 18:02:32 +0200
commit521cc85ee089b4b4fb666b923470eb99455cc6f4 (patch)
tree33e51e23c85f84fe0dfe85be9af881714cef93ec /src/main/java/de/cowtipper/cowlection/util
parentb393636cb3f7e05ef8b34804eeb06357f1b9cfbe (diff)
downloadCowlection-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.java12
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();