diff --git a/bukkit/src/main/java/net/william278/husksync/PaperHuskSyncLoader.java b/bukkit/src/main/java/net/william278/husksync/PaperHuskSyncLoader.java index 9637453c..810124e6 100644 --- a/bukkit/src/main/java/net/william278/husksync/PaperHuskSyncLoader.java +++ b/bukkit/src/main/java/net/william278/husksync/PaperHuskSyncLoader.java @@ -34,6 +34,7 @@ import org.jetbrains.annotations.Nullable; import java.io.InputStream; import java.util.List; import java.util.Objects; +import java.util.stream.Stream; @NoArgsConstructor @SuppressWarnings("UnstableApiUsage") @@ -46,13 +47,20 @@ public class PaperHuskSyncLoader implements PluginLoader { resolveLibraries(classpathBuilder).stream() .map(DefaultArtifact::new) .forEach(artifact -> resolver.addDependency(new Dependency(artifact, null))); - resolver.addRepository(new RemoteRepository.Builder( - "maven", "default", "https://repo.maven.apache.org/maven2/" - ).build()); + resolver.addRepository(new RemoteRepository.Builder("maven", "default", getMavenUrl()).build()); classpathBuilder.addLibrary(resolver); } + @NotNull + private static String getMavenUrl() { + return Stream.of( + System.getenv("PAPER_DEFAULT_CENTRAL_REPOSITORY"), + System.getProperty("org.bukkit.plugin.java.LibraryLoader.centralURL"), + "https://maven-central.storage-download.googleapis.com/maven2" + ).filter(Objects::nonNull).findFirst().orElseThrow(IllegalStateException::new); + } + @NotNull private static List resolveLibraries(@NotNull PluginClasspathBuilder classpathBuilder) { try (InputStream input = getLibraryListFile()) {