diff options
author | KonaeAkira <longtruong2411@gmail.com> | 2022-02-24 12:00:30 +0100 |
---|---|---|
committer | KonaeAkira <longtruong2411@gmail.com> | 2022-02-24 12:00:30 +0100 |
commit | d47cc0cd93f74b02d3eb5ec5f622ba0450290829 (patch) | |
tree | b02fb7208c734b171f3fbabf0b31c06df6ac189c /src/main/java/me/xmrvizzy/skyblocker | |
parent | d10db4738710df36aba3719591370deda0b8f280 (diff) | |
download | Skyblocker-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.java | 1 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java | 35 |
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; |