aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/cowtipper/cowlection/util
diff options
context:
space:
mode:
authorCow <cow@volloeko.de>2022-10-10 23:24:04 +0200
committerCow <cow@volloeko.de>2022-10-10 23:24:04 +0200
commit307610afe9a46e1e5ad57b6c1bcbbe2fa5e6747f (patch)
treea3322fa0e598c5d08a21739f9a55fb6f2ee0a960 /src/main/java/de/cowtipper/cowlection/util
parenta534e8f516515c9f790b2fd2071e7de088ad778c (diff)
downloadCowlection-307610afe9a46e1e5ad57b6c1bcbbe2fa5e6747f.tar.gz
Cowlection-307610afe9a46e1e5ad57b6c1bcbbe2fa5e6747f.tar.bz2
Cowlection-307610afe9a46e1e5ad57b6c1bcbbe2fa5e6747f.zip
Chest Analyzer rework
- Added search - Added NPC sell prices - Added 'deselect/hide item' - Added list of coords for highlighted chests - Added info button (`[?]`) - Added 'price type' column
Diffstat (limited to 'src/main/java/de/cowtipper/cowlection/util')
-rw-r--r--src/main/java/de/cowtipper/cowlection/util/ApiUtils.java21
-rw-r--r--src/main/java/de/cowtipper/cowlection/util/GsonUtils.java2
2 files changed, 20 insertions, 3 deletions
diff --git a/src/main/java/de/cowtipper/cowlection/util/ApiUtils.java b/src/main/java/de/cowtipper/cowlection/util/ApiUtils.java
index 4e81004..663936f 100644
--- a/src/main/java/de/cowtipper/cowlection/util/ApiUtils.java
+++ b/src/main/java/de/cowtipper/cowlection/util/ApiUtils.java
@@ -5,8 +5,9 @@ import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;
import com.mojang.util.UUIDTypeAdapter;
import de.cowtipper.cowlection.Cowlection;
-import de.cowtipper.cowlection.chesttracker.HyBazaarData;
-import de.cowtipper.cowlection.chesttracker.LowestBinsCache;
+import de.cowtipper.cowlection.chesttracker.data.HyBazaarData;
+import de.cowtipper.cowlection.chesttracker.data.HyItemsData;
+import de.cowtipper.cowlection.chesttracker.data.LowestBinsCache;
import de.cowtipper.cowlection.command.exception.ThrowingConsumer;
import de.cowtipper.cowlection.config.CredentialStorage;
import de.cowtipper.cowlection.data.*;
@@ -33,6 +34,7 @@ public class ApiUtils {
private static final String SKYBLOCK_STATS_URL = "https://api.hypixel.net/skyblock/profiles?key=%s&uuid=%s";
private static final String BAZAAR_URL = "https://api.hypixel.net/skyblock/bazaar";
public static final String LOWEST_BINS = "https://moulberry.codes/lowestbin.json";
+ private static final String ITEMS_URL = "https://api.hypixel.net/resources/skyblock/items";
private static final String PLAYER_URL = "https://api.hypixel.net/player?key=%s&uuid=%s";
private static final String API_KEY_URL = "https://api.hypixel.net/key?key=%s";
private static final ExecutorService pool = Executors.newCachedThreadPool();
@@ -137,6 +139,21 @@ public class ApiUtils {
return new LowestBinsCache();
}
+ public static void fetchItemsData(ThrowingConsumer<HyItemsData> action) {
+ pool.execute(() -> action.accept(getItemsData()));
+ }
+
+ private static HyItemsData getItemsData() {
+ try (BufferedReader reader = makeApiCall(ITEMS_URL)) {
+ if (reader != null) {
+ return GsonUtils.fromJson(reader, HyItemsData.class);
+ }
+ } catch (IOException | JsonSyntaxException e) {
+ handleApiException(e);
+ }
+ return null;
+ }
+
public static void fetchHyPlayerDetails(Friend stalkedPlayer, ThrowingConsumer<HyPlayerData> action) {
pool.execute(() -> action.accept(stalkHyPlayer(stalkedPlayer)));
}
diff --git a/src/main/java/de/cowtipper/cowlection/util/GsonUtils.java b/src/main/java/de/cowtipper/cowlection/util/GsonUtils.java
index d2d3e28..c21a1fd 100644
--- a/src/main/java/de/cowtipper/cowlection/util/GsonUtils.java
+++ b/src/main/java/de/cowtipper/cowlection/util/GsonUtils.java
@@ -2,7 +2,7 @@ package de.cowtipper.cowlection.util;
import com.google.gson.*;
import com.mojang.util.UUIDTypeAdapter;
-import de.cowtipper.cowlection.chesttracker.LowestBinsCache;
+import de.cowtipper.cowlection.chesttracker.data.LowestBinsCache;
import de.cowtipper.cowlection.data.HyPlayerData;
import net.minecraft.nbt.*;
import net.minecraftforge.common.util.Constants;