From 69a6af5c921b43ef3148ba5a4939dbd71aa14fa1 Mon Sep 17 00:00:00 2001 From: FalsePattern Date: Thu, 20 Nov 2025 16:32:00 +0100 Subject: [PATCH] fix: Deploader crash when fetching mcmod.info details Closes: https://github.com/FalsePattern/FalsePatternLib/issues/46 --- build.gradle.kts | 2 +- .../deploader/DependencyLoaderImpl.java | 30 ++++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index af6037c..3dd0276 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ plugins { group = "com.falsepattern" //bump this after ANY change to the deploader! -val deploaderVersion = 4 +val deploaderVersion = 5 minecraft_fp { java { diff --git a/src/deploader/java/com/falsepattern/deploader/DependencyLoaderImpl.java b/src/deploader/java/com/falsepattern/deploader/DependencyLoaderImpl.java index 65e29ff..104a016 100644 --- a/src/deploader/java/com/falsepattern/deploader/DependencyLoaderImpl.java +++ b/src/deploader/java/com/falsepattern/deploader/DependencyLoaderImpl.java @@ -298,22 +298,24 @@ public class DependencyLoaderImpl { @SneakyThrows private static void readMCMod(InputStream input, String name) { - val meta = MetadataCollection.from(input, name); - val modList = (ModMetadata[])metadataCollectionModListAccessor.get(meta); - for (val mod: modList) { - val id = mod.modId; - if (id != null) { - val versionStr = mod.version; - final Version version; - if (versionStr != null) { - version = Version.parse(versionStr); - } else { - version = new RawVersion("unknown"); + try { + val meta = MetadataCollection.from(input, name); + val modList = (ModMetadata[]) metadataCollectionModListAccessor.get(meta); + for (val mod : modList) { + val id = mod.modId; + if (id != null) { + val versionStr = mod.version; + final Version version; + if (versionStr != null) { + version = Version.parse(versionStr); + } else { + version = new RawVersion("unknown"); + } + loadedModIds.put(id, version); + loadedModIdMods.put(id, name); } - loadedModIds.put(id, version); - loadedModIdMods.put(id, name); } - } + } catch (Throwable ignored) {} } private static boolean scanForDepSpecs(URL source, List output, List jijURLs) {