aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker
diff options
context:
space:
mode:
authorFix3d <serhanduzce@gmail.com>2023-04-16 05:48:36 +0300
committerFix3d <serhanduzce@gmail.com>2023-04-16 05:48:36 +0300
commita32e5f58919d7af7a2a86e5a3152146e54f0c552 (patch)
treef5cdd84ea4ad8b5964a535f00e997106a31c9025 /src/main/java/me/xmrvizzy/skyblocker
parent21b64be8d85d37e107ffd628416031e0839c9990 (diff)
downloadSkyblocker-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.java52
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();
+ }
+}