diff options
author | Fix3d <serhanduzce@gmail.com> | 2023-04-16 05:48:36 +0300 |
---|---|---|
committer | Fix3d <serhanduzce@gmail.com> | 2023-04-16 05:48:36 +0300 |
commit | a32e5f58919d7af7a2a86e5a3152146e54f0c552 (patch) | |
tree | f5cdd84ea4ad8b5964a535f00e997106a31c9025 /src/main/java/me/xmrvizzy/skyblocker | |
parent | 21b64be8d85d37e107ffd628416031e0839c9990 (diff) | |
download | Skyblocker-a32e5f58919d7af7a2a86e5a3152146e54f0c552.tar.gz Skyblocker-a32e5f58919d7af7a2a86e5a3152146e54f0c552.tar.bz2 Skyblocker-a32e5f58919d7af7a2a86e5a3152146e54f0c552.zip |
forgot unversioned files :P
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/api/RepositoryUpdate.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/RepositoryUpdate.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/RepositoryUpdate.java new file mode 100644 index 00000000..db039559 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/RepositoryUpdate.java @@ -0,0 +1,52 @@ +package me.xmrvizzy.skyblocker.skyblock.api; + +import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry; +import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; +import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; +import net.minecraft.text.Text; + +import java.io.File; +import java.nio.file.Files; +import java.util.concurrent.CompletableFuture; + +public class RepositoryUpdate { + + //TODO add button to config for this + public static void init(){ + ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register( + ClientCommandManager.literal("skyblocker") + .then(ClientCommandManager.literal("updaterepository") + .executes(context -> { + CompletableFuture.runAsync(() -> { + try { + ItemRegistry.filesImported = false; + File dir = ItemRegistry.LOCAL_ITEM_REPO_DIR.toFile(); + recursiveDelete(dir); + } catch (Exception ex) { + ItemRegistry.client.player.sendMessage( + Text.translatable("skyblocker.updaterepository.failed") + , false + ); + return; + } + + ItemRegistry.init(); + }); + + return 1; + }) + ) + ) + ); + + } + + private static void recursiveDelete(File dir) { + if (dir.isDirectory() && !Files.isSymbolicLink(dir.toPath())) { + for (File child : dir.listFiles()) { + recursiveDelete(child); + } + } + dir.delete(); + } +} |