From 0fda7a86daf04f9ac0de54492629e38d290af887 Mon Sep 17 00:00:00 2001 From: Spencer <75862693+TacoMonkey11@users.noreply.github.com> Date: Mon, 4 Apr 2022 16:02:29 -0400 Subject: Should fix crash --- src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java index b1bb0d93..bd99f2d4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java @@ -47,8 +47,10 @@ public abstract class HandledScreenMixin extends Screen { @Inject(at = @At("HEAD"), method = "keyPressed", cancellable = true) public void keyPressed(int keyCode, int scanCode, int modifiers, CallbackInfoReturnable cir) { - if (keyCode != 256 && !MinecraftClient.getInstance().options.inventoryKey.matchesKey(keyCode, scanCode)){ - if (WikiLookup.wikiLookup.matchesKey(keyCode, scanCode)) WikiLookup.openWiki(focusedSlot); + if (focusedSlot != null){ + if (keyCode != 256 && !MinecraftClient.getInstance().options.inventoryKey.matchesKey(keyCode, scanCode)){ + if (WikiLookup.wikiLookup.matchesKey(keyCode, scanCode)) WikiLookup.openWiki(focusedSlot); + } } } -- cgit From cb1016105f894fc58e049dc09e7b7d61ec2c77bb Mon Sep 17 00:00:00 2001 From: KonaeAkira Date: Fri, 15 Apr 2022 00:12:06 +0200 Subject: Use config path provided by Fabric API Make exception catching generic --- .../skyblocker/skyblock/itemlist/ItemRegistry.java | 33 +++++++++++----------- .../skyblock/itemlist/ItemStackBuilder.java | 9 +++--- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java index c664bb9e..90d61e91 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java @@ -2,22 +2,22 @@ package me.xmrvizzy.skyblocker.skyblock.itemlist; import com.google.gson.JsonObject; import com.google.gson.JsonParser; + +import net.fabricmc.loader.api.FabricLoader; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import org.eclipse.jgit.api.Git; -import org.eclipse.jgit.api.errors.GitAPIException; import java.io.File; -import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.*; public class ItemRegistry { - protected static final String REMOTE_ITEM_REPO_DIR = "https://github.com/KonaeAkira/NotEnoughUpdates-REPO.git"; - protected static final String LOCAL_ITEM_REPO_DIR = "./config/skyblocker/items-repo/"; + protected static final String REMOTE_ITEM_REPO = "https://github.com/KonaeAkira/NotEnoughUpdates-REPO.git"; + protected static final Path LOCAL_ITEM_REPO_DIR = FabricLoader.getInstance().getConfigDir().resolve("skyblocker/item-repo"); - private static final String ITEM_LIST_DIR = LOCAL_ITEM_REPO_DIR + "items/"; + private static final Path ITEM_LIST_DIR = LOCAL_ITEM_REPO_DIR.resolve("items"); protected static List items = new ArrayList<>(); protected static Map itemsMap = new HashMap<>(); @@ -31,21 +31,21 @@ public class ItemRegistry { } private static void updateItemRepo() { - if (!Files.isDirectory(Paths.get(LOCAL_ITEM_REPO_DIR))) { + if (!Files.isDirectory(LOCAL_ITEM_REPO_DIR)) { try { Git.cloneRepository() - .setURI(REMOTE_ITEM_REPO_DIR) - .setDirectory(new File(LOCAL_ITEM_REPO_DIR)) + .setURI(REMOTE_ITEM_REPO) + .setDirectory(LOCAL_ITEM_REPO_DIR.toFile()) .setBranchesToClone(List.of("refs/heads/master")) .setBranch("refs/heads/master") .call(); - } catch (GitAPIException e) { + } catch (Exception e) { e.printStackTrace(); } } else { try { - Git.open(new File(LOCAL_ITEM_REPO_DIR)).pull().call(); - } catch (GitAPIException | IOException e) { + Git.open(LOCAL_ITEM_REPO_DIR.toFile()).pull().call(); + } catch (Exception e) { e.printStackTrace(); } } @@ -54,16 +54,15 @@ public class ItemRegistry { private static void importItemFiles() { List jsonObjs = new ArrayList<>(); - File dir = new File(ITEM_LIST_DIR); + File dir = ITEM_LIST_DIR.toFile(); File[] files = dir.listFiles(); assert files != null; for (File file : files) { - String path = ITEM_LIST_DIR + "/" + file.getName(); + Path path = ITEM_LIST_DIR.resolve(file.getName()); try { - String fileContent = Files.readString(Paths.get(path)); + String fileContent = Files.readString(path); jsonObjs.add(JsonParser.parseString(fileContent).getAsJsonObject()); - } catch (IOException e) { - System.err.println("Couldn't import " + path); + } catch (Exception e) { e.printStackTrace(); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java index b7a6e919..f21c7ccb 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java @@ -9,21 +9,20 @@ import net.minecraft.nbt.*; import net.minecraft.text.Text; import net.minecraft.util.Pair; -import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ItemStackBuilder { - private final static String PETNUMS_PATH = ItemRegistry.LOCAL_ITEM_REPO_DIR + "constants/petnums.json"; + private final static Path PETNUMS_PATH = ItemRegistry.LOCAL_ITEM_REPO_DIR.resolve("constants/petnums.json"); private static JsonObject petNums; public static void init() { try { - petNums = JsonParser.parseString(Files.readString(Paths.get(PETNUMS_PATH))).getAsJsonObject(); - } catch (IOException e) { + petNums = JsonParser.parseString(Files.readString(PETNUMS_PATH)).getAsJsonObject(); + } catch (Exception e) { e.printStackTrace(); } } -- cgit