aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker
diff options
context:
space:
mode:
authorKonaeAkira <longtruong2411@gmail.com>2022-02-24 12:00:30 +0100
committerKonaeAkira <longtruong2411@gmail.com>2022-02-24 12:00:30 +0100
commitd47cc0cd93f74b02d3eb5ec5f622ba0450290829 (patch)
treeb02fb7208c734b171f3fbabf0b31c06df6ac189c /src/main/java/me/xmrvizzy/skyblocker
parentd10db4738710df36aba3719591370deda0b8f280 (diff)
downloadSkyblocker-d47cc0cd93f74b02d3eb5ec5f622ba0450290829.tar.gz
Skyblocker-d47cc0cd93f74b02d3eb5ec5f622ba0450290829.tar.bz2
Skyblocker-d47cc0cd93f74b02d3eb5ec5f622ba0450290829.zip
Use the new scheduler and use fabricLoader to get config dir
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java35
2 files changed, 18 insertions, 18 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
index 2c0a8ad6..f3c851f1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
@@ -19,6 +19,7 @@ public class SkyblockerMod {
scheduler.scheduleCyclic(Utils::sbChecker, 20);
scheduler.scheduleCyclic(discordRPCManager::update, 100);
scheduler.scheduleCyclic(DungeonBlaze::update, 4);
+ scheduler.scheduleCyclic(BackpackPreview::tick, 100);
}
public static SkyblockerMod getInstance() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
index 6942968c..13aa9944 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
@@ -2,6 +2,8 @@ package me.xmrvizzy.skyblocker.skyblock;
import com.mojang.blaze3d.systems.RenderSystem;
import me.xmrvizzy.skyblocker.SkyblockerMod;
+import me.xmrvizzy.skyblocker.utils.Utils;
+import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawableHelper;
@@ -26,15 +28,25 @@ public class BackpackPreview extends DrawableHelper {
private static final BackpackPreview instance = new BackpackPreview();
private static final Pattern ECHEST_PATTERN = Pattern.compile("Ender Chest.*\\((\\d+)/\\d+\\)");
private static final Pattern BACKPACK_PATTERN = Pattern.compile("Backpack.*\\((\\d+)/\\d+\\)");
+ private static final int STORAGE_SIZE = 27;
- private static final Inventory[] storage = new Inventory[27];
- private static final boolean[] dirty = new boolean[27];
+ private static final Inventory[] storage = new Inventory[STORAGE_SIZE];
+ private static final boolean[] dirty = new boolean[STORAGE_SIZE];
private static boolean loaded = false;
- private static int counter = 0;
+
+ public static void tick() {
+ if (Utils.isOnSkyblock) {
+ for (int index = 0; index < STORAGE_SIZE; ++index)
+ if (dirty[index]) saveStorage(index);
+ String title = MinecraftClient.getInstance().currentScreen.getTitle().getString();
+ int index = getStorageIndexFromTitle(title);
+ if (index != -1) dirty[index] = true;
+ }
+ }
private static File getSaveDir() {
String uuid = MinecraftClient.getInstance().player.getUuidAsString();
- File dir = new File("./config/skyblocker/backpack-preview/" + uuid + "/");
+ File dir = FabricLoader.getInstance().getConfigDir().resolve("skyblocker/backpack-preview/" + uuid).toFile();
dir.mkdirs();
return dir;
}
@@ -43,7 +55,7 @@ public class BackpackPreview extends DrawableHelper {
if (!loaded) {
String title = screen.getTitle().getString();
if (title.equals("Storage")) {
- for (int index = 0; index < storage.length; ++index) {
+ for (int index = 0; index < STORAGE_SIZE; ++index) {
File file = new File(getSaveDir().getPath(), index + ".nbt");
if (file.isFile()) {
try {
@@ -96,19 +108,6 @@ public class BackpackPreview extends DrawableHelper {
}
}
- public static void tick() {
- if (++counter == 100) {
- counter = 0;
- for (int i = 0; i < dirty.length; ++i)
- if (dirty[i]) {
- saveStorage(i);
- String title = MinecraftClient.getInstance().currentScreen.getTitle().getString();
- int index = getStorageIndexFromTitle(title);
- dirty[i] = i == index;
- }
- }
- }
-
public static boolean renderPreview(MatrixStack matrices, int index, int mouseX, int mouseY) {
if (index >= 9 && index < 18) index -= 9;
else if (index >= 27 && index < 45) index -= 18;