aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me
diff options
context:
space:
mode:
authorExternalTime <84183548+ExternalTime@users.noreply.github.com>2021-09-19 22:21:33 +0200
committerExternalTime <84183548+ExternalTime@users.noreply.github.com>2021-09-19 22:21:33 +0200
commit3a72a2a420c498602c743929f2b9872306a2d75f (patch)
treec6c14cc5efd21215456b67c079c664cc6787480d /src/main/java/me
parent731c9430f4cf4cd5f9410cd490d724ba55fa7414 (diff)
downloadSkyblocker-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/java/me')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java9
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java17
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;
}
}