diff options
author | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-09-19 22:21:33 +0200 |
---|---|---|
committer | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-09-19 22:21:33 +0200 |
commit | 3a72a2a420c498602c743929f2b9872306a2d75f (patch) | |
tree | c6c14cc5efd21215456b67c079c664cc6787480d /src/main | |
parent | 731c9430f4cf4cd5f9410cd490d724ba55fa7414 (diff) | |
download | Skyblocker-3a72a2a420c498602c743929f2b9872306a2d75f.tar.gz Skyblocker-3a72a2a420c498602c743929f2b9872306a2d75f.tar.bz2 Skyblocker-3a72a2a420c498602c743929f2b9872306a2d75f.zip |
Changed API call to be non-blocking and run at startup.
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java | 9 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java | 17 |
2 files changed, 16 insertions, 10 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java index 6436cdba..750fa159 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java +++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java @@ -3,20 +3,21 @@ package me.xmrvizzy.skyblocker; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.skyblock.HotbarSlotLock; import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonBlaze; +import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip; import me.xmrvizzy.skyblocker.utils.RenderUtils; import me.xmrvizzy.skyblocker.utils.Utils; import net.fabricmc.api.ClientModInitializer; import net.minecraft.client.MinecraftClient; + public class SkyblockerMod implements ClientModInitializer { public static final String NAMESPACE = "skyblocker"; private static int TICKS = 0; - + @Override public void onInitializeClient() { HotbarSlotLock.init(); SkyblockerConfig.init(); - - + PriceInfoTooltip.init(); } @@ -25,7 +26,7 @@ public class SkyblockerMod implements ClientModInitializer { if (client == null) return; TICKS++; - if (TICKS % 4 == 0) + if (TICKS % 4 == 0) try { if(Utils.isDungeons){ if (SkyblockerConfig.get().locations.dungeons.blazesolver) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java index 36b83670..0bbdda28 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java @@ -11,6 +11,7 @@ import net.minecraft.nbt.NbtCompound; import net.minecraft.text.LiteralText; import net.minecraft.text.Text; import net.minecraft.util.Formatting; +import org.apache.logging.log4j.LogManager; import java.io.IOException; import java.io.InputStream; @@ -25,7 +26,8 @@ import java.util.zip.GZIPInputStream; public class PriceInfoTooltip { private JsonObject auctionPricesJson = null; private JsonObject bazaarPricesJson = null; - public static JsonObject prices = downloadPrices(); + public static JsonObject prices; + public static void onInjectTooltip(ItemStack stack, TooltipContext context, List<Text> list) { String name = getInternalNameForItem(stack); @@ -39,12 +41,12 @@ public class PriceInfoTooltip { }catch(Exception e) { MinecraftClient.getInstance().player.sendMessage(new LiteralText(e.toString()), false); } - + } public static String round(double value, int places) { DecimalFormat df = new DecimalFormat("#,##0.00"); if (places < 0) throw new IllegalArgumentException(); - + BigDecimal bd = new BigDecimal(value); bd = bd.setScale(places, RoundingMode.HALF_UP); return df.format(bd); @@ -80,8 +82,11 @@ public class PriceInfoTooltip { return internalname; } + public static void init() { + MinecraftClient.getInstance().execute(PriceInfoTooltip::downloadPrices); + } - public static JsonObject downloadPrices() { + private static void downloadPrices() { JsonObject result = null; try { URL apiAddr = new URL("https://moulberry.codes/auction_averages_lbin/3day.json.gz"); @@ -94,8 +99,8 @@ public class PriceInfoTooltip { } } catch(IOException e) { - e.printStackTrace(); + LogManager.getLogger(PriceInfoTooltip.class.getName()).warn("[Skyblocker] Failed to download item prices!", e); } - return result; + prices = result; } } |