From 62ac9fd4d2b3bf00dee157dbc9915fbe4ff94257 Mon Sep 17 00:00:00 2001 From: sciwhiz12 Date: Tue, 18 Aug 2026 18:30:44 +0800 Subject: [PATCH] Skip logoFile warning if bannerFile or iconFile is present (#3413) --- .../neoforge/internal/LogoFileWarningsHandler.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/neoforged/neoforge/internal/LogoFileWarningsHandler.java b/src/main/java/net/neoforged/neoforge/internal/LogoFileWarningsHandler.java index a57958032c..e35fcf1e53 100644 --- a/src/main/java/net/neoforged/neoforge/internal/LogoFileWarningsHandler.java +++ b/src/main/java/net/neoforged/neoforge/internal/LogoFileWarningsHandler.java @@ -25,7 +25,17 @@ public class LogoFileWarningsHandler { var logoFile = info.getLogoFile() .or(() -> info.getOwningFile().getConfig().getConfigElement("logoFile")); - if (logoFile.isPresent()) { + // If logoFile is not set, there is nothing to warn about + if (logoFile.isEmpty()) return; + + var bannerFile = info.getConfig().getConfigElement("bannerFile") + .or(() -> info.getOwningFile().getConfig().getConfigElement("bannerFile")); + // See DefaultModDisplayInfo#icon() + var iconFile = info.getConfig().getConfigElement("iconFile") + .or(() -> info.getOwningFile().getConfig().getConfigElement("iconFile")); + + // Skip warning if bannerFile or iconFile is present, since it means the developer consciously kept the old property (for multi-version compat) + if (bannerFile.isEmpty() && iconFile.isEmpty()) { // This shouldn't need to be translated, as it will only ever show for developers //noinspection UnstableApiUsage ModLoader.addLoadingIssue(ModLoadingIssue.warning("Mod %s uses the deprecated `logoFile` property; change to `bannerFile` and/or (for square icons) `iconFile`", info.getModId()).withAffectedMod(info));