From cfeb4ee3b82f1f16a4ecf8308d5828befd9be723 Mon Sep 17 00:00:00 2001 From: JohnnyBazooka89 Date: Sat, 10 Jun 2023 20:35:20 +0200 Subject: [PATCH 1/2] Fix Mod Config button, when modPanel is null. --- .../patches/modsscreen/ModsScreen.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/evacipated/cardcrawl/modthespire/patches/modsscreen/ModsScreen.java b/src/main/java/com/evacipated/cardcrawl/modthespire/patches/modsscreen/ModsScreen.java index f7cbebe7..7f59e189 100644 --- a/src/main/java/com/evacipated/cardcrawl/modthespire/patches/modsscreen/ModsScreen.java +++ b/src/main/java/com/evacipated/cardcrawl/modthespire/patches/modsscreen/ModsScreen.java @@ -167,7 +167,7 @@ public void update() } } - if (baseModBadges != null && selectedMod >= 0 && baseModBadges.get(Loader.MODINFOS[selectedMod].jarURL) != null) { + if (baseModBadges != null && selectedMod >= 0 && baseModBadgeExistsAndModPanelIsNotNull(baseModBadges.get(Loader.MODINFOS[selectedMod].jarURL))) { configHb.update(); if (configHb.hovered && InputHelper.justClickedLeft) { modBadge_onClick(baseModBadges.get(Loader.MODINFOS[selectedMod].jarURL)); @@ -361,7 +361,7 @@ private void renderModInfo(SpriteBatch sb) if (baseModBadges != null) { configHb.move(x - padding - 50 * Settings.scale, button.hb.y + (button.hb.height / 2.0f)); - if (baseModBadges.get(Loader.MODINFOS[selectedMod].jarURL) != null) { + if (baseModBadgeExistsAndModPanelIsNotNull(baseModBadges.get(Loader.MODINFOS[selectedMod].jarURL))) { configHb.render(sb); Color c = Settings.CREAM_COLOR; @@ -416,4 +416,18 @@ private void modBadge_onClick(Object badge) } } } + + private boolean baseModBadgeExistsAndModPanelIsNotNull(Object badge) { + if (badge != null) { + try { + Object modPanel = ModBadge_modPanel.get(badge); + if (modPanel != null) { + return true; + } + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + return false; + } } From 144785f6e28d6fb3354be5082da0572d56c17694 Mon Sep 17 00:00:00 2001 From: JohnnyBazooka89 Date: Tue, 21 May 2024 22:48:08 +0200 Subject: [PATCH 2/2] Fix. --- .../cardcrawl/modthespire/patches/modsscreen/ModsScreen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/evacipated/cardcrawl/modthespire/patches/modsscreen/ModsScreen.java b/src/main/java/com/evacipated/cardcrawl/modthespire/patches/modsscreen/ModsScreen.java index d5bed069..3b6fff86 100644 --- a/src/main/java/com/evacipated/cardcrawl/modthespire/patches/modsscreen/ModsScreen.java +++ b/src/main/java/com/evacipated/cardcrawl/modthespire/patches/modsscreen/ModsScreen.java @@ -157,7 +157,7 @@ public void update() CardCrawlGame.mainMenuScreen.darken(); CardCrawlGame.mainMenuScreen.screen = Enum.MODS_LIST; closeButton.show(PatchNotesScreen.TEXT[0]); - if (baseModBadges != null && baseModBadges.get(ModTheSpire.MODINFOS[selectedMod].jarURL) != null) { + if (baseModBadges != null && baseModBadgeExistsAndModPanelIsNotNull(baseModBadges.get(ModTheSpire.MODINFOS[selectedMod].jarURL))) { showConfigButton(); } }