diff options
| author | Cow <cow@volloeko.de> | 2022-10-10 23:24:04 +0200 |
|---|---|---|
| committer | Cow <cow@volloeko.de> | 2022-10-10 23:24:04 +0200 |
| commit | 307610afe9a46e1e5ad57b6c1bcbbe2fa5e6747f (patch) | |
| tree | a3322fa0e598c5d08a21739f9a55fb6f2ee0a960 /src/main/java/de/cowtipper/cowlection/util | |
| parent | a534e8f516515c9f790b2fd2071e7de088ad778c (diff) | |
| download | Cowlection-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.java | 21 | ||||
| -rw-r--r-- | src/main/java/de/cowtipper/cowlection/util/GsonUtils.java | 2 |
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; |
