From 4ce32c3663717fe033365bdd023252cbdff1a8f5 Mon Sep 17 00:00:00 2001 From: Alex Thomson Date: Wed, 13 May 2020 10:02:01 +1200 Subject: [PATCH] Fix exclusion of coremods not filtering correctly when the mods directory is a symbolic link. (#6600) --- .../fml/loading/ModDirTransformerDiscoverer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/ModDirTransformerDiscoverer.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/ModDirTransformerDiscoverer.java index c1f528cd64..e68ff23909 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/ModDirTransformerDiscoverer.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/ModDirTransformerDiscoverer.java @@ -53,7 +53,7 @@ public class ModDirTransformerDiscoverer implements ITransformerDiscoveryService } private static void scan(final Path gameDirectory) { - final Path modsDir = gameDirectory.resolve(FMLPaths.MODSDIR.relative()); + final Path modsDir = gameDirectory.resolve(FMLPaths.MODSDIR.relative()).toAbsolutePath().normalize(); transformers = new ArrayList<>(); locators = new ArrayList<>(); if (!Files.exists(modsDir)) { @@ -74,9 +74,9 @@ public class ModDirTransformerDiscoverer implements ITransformerDiscoveryService if (LamdbaExceptionUtils.uncheck(() -> Files.size(path)) == 0) return; try (ZipFile zf = new ZipFile(new File(path.toUri()))) { if (zf.getEntry("META-INF/services/cpw.mods.modlauncher.api.ITransformationService") != null) { - transformers.add(path.toRealPath()); + transformers.add(path); } else if (zf.getEntry("META-INF/services/net.minecraftforge.forgespi.locating.IModLocator") != null) { - locators.add(path.toRealPath()); + locators.add(path); } } catch (IOException ioe) { LogManager.getLogger().error("Zip Error when loading jar file {}", path, ioe);