From b78d3af4482642e3bc16de21e68f9fdb417b7a07 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Thu, 27 Jan 2022 14:29:46 +0800 Subject: [PATCH] Fix bukkit library loader not working (#443) --- .../arclight/forgeinstaller/ForgeInstaller.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java b/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java index 2726c2e9..ccd01065 100644 --- a/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java +++ b/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java @@ -264,7 +264,7 @@ public class ForgeInstaller { if (split[0].equals("legacyClassPath")) { split[1] = Stream.concat( - Stream.concat(Stream.of(self.toString(), split[1]), installInfo.libraries.keySet().stream() + Stream.concat(Stream.concat(Stream.of(self.toString()), Arrays.stream(split[1].split(File.pathSeparator))), installInfo.libraries.keySet().stream() .map(it -> Paths.get("libraries", Util.mavenToPath(it))) .peek(it -> { var name = it.getFileName().toString(); @@ -275,7 +275,16 @@ public class ForgeInstaller { .map(Path::toString)), Stream.empty() //Stream.of(self) - ).collect(Collectors.joining(File.pathSeparator)); + ).sorted((a, b) -> { + // damn stupid jpms + if (a.contains("maven-repository-metadata")) { + return -1; + } else if (b.contains("maven-repository-metadata")) { + return 1; + } else { + return 0; + } + }).collect(Collectors.joining(File.pathSeparator)); } else if (split[0].equals("ignoreList")) { ignores.addAll(Arrays.asList(split[1].split(","))); }