From 2663f5e3f4ab133fdad1069b24180dab708f7987 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Thu, 27 Jul 2023 13:59:13 -0400 Subject: [PATCH] Use Forge resource finder for directories instead of MF finder --- .../classloading/ModernFixResourceFinder.java | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/classloading/ModernFixResourceFinder.java b/forge/src/main/java/org/embeddedt/modernfix/forge/classloading/ModernFixResourceFinder.java index b0dc2315..d43aa277 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/classloading/ModernFixResourceFinder.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/classloading/ModernFixResourceFinder.java @@ -92,20 +92,12 @@ public class ModernFixResourceFinder { } public static Enumeration findAllURLsForResource(String input) { - // CachedResourcePath normalizes already but we need to strip trailing slash if any - // TODO move logic to FileUtil.normalize() - int lastIndex = input.length(); - boolean strip = false; - while(lastIndex > 1) { - char c = input.charAt(lastIndex - 1); - if (c == '/' || c == '\\') { - lastIndex--; - strip = true; - } else - break; + // fallback to Forge impl for any paths ending in a slash + char endChar = input.length() > 0 ? input.charAt(input.length() - 1) : '/'; + if(endChar == '/' || endChar == '\\') { + return LoadingModList.get().findAllURLsForResource(input); } - if(strip) - input = input.substring(0, lastIndex); + // CachedResourcePath normalizes already Collection urlList = urlsForClass.get(new CachedResourcePath(input)); if(!urlList.isEmpty()) { String pathInput = FileUtil.normalize(input);