diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModInfo.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModInfo.java index 5a234a4178..908e465578 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModInfo.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModInfo.java @@ -50,6 +50,7 @@ public class ModInfo implements IModInfo private final ArtifactVersion version; private final String displayName; private final String description; + private final Optional logoFile; private final URL updateJSONURL; private final List dependencies; private final Map properties; @@ -74,6 +75,13 @@ public class ModInfo implements IModInfo map(DefaultArtifactVersion::new).orElse(DEFAULT_VERSION); this.displayName = modConfig.getOptional("displayName").orElse(this.modId); this.description = modConfig.get("description"); + + Optional tmp = modConfig.getOptional("logoFile"); + if (!tmp.isPresent() && this.owningFile != null) { + tmp = this.owningFile.getConfig().getOptional("logoFile"); + } + this.logoFile = tmp; + this.updateJSONURL = modConfig.getOptional("updateJSONURL").map(StringUtils::toURL).orElse(null); if (owningFile != null) { this.dependencies = owningFile.getConfig().>getOptional(Arrays.asList("dependencies", this.modId)). @@ -140,7 +148,7 @@ public class ModInfo implements IModInfo public Optional getLogoFile() { - return this.owningFile != null ? this.owningFile.getConfig().getOptional("logoFile") : this.modConfig.getOptional("logoFile"); + return this.logoFile; } public boolean hasConfigUI()