From cbb0d28ebe1137bab41f4fd826be24d187e8f3ba Mon Sep 17 00:00:00 2001 From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Date: Sun, 28 Apr 2024 13:51:08 -0700 Subject: [PATCH] Add hook to remap library jars --- .../java/org/bukkit/plugin/java/LibraryLoader.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/paper-api/src/main/java/org/bukkit/plugin/java/LibraryLoader.java b/paper-api/src/main/java/org/bukkit/plugin/java/LibraryLoader.java index 5b0203e908..8e1b6be246 100644 --- a/paper-api/src/main/java/org/bukkit/plugin/java/LibraryLoader.java +++ b/paper-api/src/main/java/org/bukkit/plugin/java/LibraryLoader.java @@ -47,6 +47,7 @@ public class LibraryLoader private final DefaultRepositorySystemSession session; private final List repositories; public static java.util.function.BiFunction LIBRARY_LOADER_FACTORY; // Paper - rewrite reflection in libraries + public static java.util.function.Function, List> REMAPPER; // Paper - remap libraries public LibraryLoader(@NotNull Logger logger) { @@ -111,9 +112,18 @@ public class LibraryLoader } List jarFiles = new ArrayList<>(); + List jarPaths = new ArrayList<>(); // Paper - remap libraries for ( ArtifactResult artifact : result.getArtifactResults() ) { - File file = artifact.getArtifact().getFile(); + // Paper start - remap libraries + jarPaths.add(artifact.getArtifact().getFile().toPath()); + } + if (REMAPPER != null) { + jarPaths = REMAPPER.apply(jarPaths); + } + for (java.nio.file.Path path : jarPaths) { + File file = path.toFile(); + // Paper end - remap libraries URL url; try