diff options
| author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2023-05-17 13:41:31 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-17 13:41:31 -0700 |
| commit | ae4a440d758ddf0bf7d6bf17a829653e3fc58e15 (patch) | |
| tree | 2790357690a61bd6db24a0a0f3dc5ba27b570260 /src/main/java/me/xmrvizzy/skyblocker/skyblock/api | |
| parent | ee95d8c482e459dab064b1a1f1092b0ffa7610fb (diff) | |
| parent | a47c68f022809c33f149f90af14d1c20bf271bad (diff) | |
| download | Skyblocker-ae4a440d758ddf0bf7d6bf17a829653e3fc58e15.tar.gz Skyblocker-ae4a440d758ddf0bf7d6bf17a829653e3fc58e15.tar.bz2 Skyblocker-ae4a440d758ddf0bf7d6bf17a829653e3fc58e15.zip | |
Merge pull request #122 from Fix3dll/minor-updates
minor updates
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/api')
| -rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/api/RepositoryUpdate.java | 56 |
1 files changed, 56 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..3854dd88 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/RepositoryUpdate.java @@ -0,0 +1,56 @@ +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 { + + /** + * Adds command to update repository manually from ingame. + * <p></p> + * TODO A button could be added to the settings menu that will trigger this command. + */ + 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(); + } +} |
