aboutsummaryrefslogtreecommitdiffhomepage
path: root/paper-api
diff options
context:
space:
mode:
authorJason Penilla <[email protected]>2024-04-28 13:51:08 -0700
committerJason Penilla <[email protected]>2024-04-28 13:51:08 -0700
commitcbb0d28ebe1137bab41f4fd826be24d187e8f3ba (patch)
tree7f0984ac542991f00fc0bf0d0217c1bf53af3f8a /paper-api
parentd9e51980e6dca969c8da5eaa9c0974bdada98c08 (diff)
downloadPaper-cbb0d28ebe1137bab41f4fd826be24d187e8f3ba.tar.gz
Paper-cbb0d28ebe1137bab41f4fd826be24d187e8f3ba.zip
Add hook to remap library jars
Diffstat (limited to 'paper-api')
-rw-r--r--paper-api/src/main/java/org/bukkit/plugin/java/LibraryLoader.java12
1 files changed, 11 insertions, 1 deletions
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<RemoteRepository> repositories;
public static java.util.function.BiFunction<URL[], ClassLoader, URLClassLoader> LIBRARY_LOADER_FACTORY; // Paper - rewrite reflection in libraries
+ public static java.util.function.Function<List<java.nio.file.Path>, List<java.nio.file.Path>> REMAPPER; // Paper - remap libraries
public LibraryLoader(@NotNull Logger logger)
{
@@ -111,9 +112,18 @@ public class LibraryLoader
}
List<URL> jarFiles = new ArrayList<>();
+ List<java.nio.file.Path> 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