public static void main() throws Exception {
        Path cacheDirectory = Paths.get("data").resolve("libs");
        MoreFiles.createDirectoriesIfNotExists(cacheDirectory);

        ExecutorService executorService = Executors.newFixedThreadPool(8, new ThreadFactoryBuilder().setDaemon(true).build());
        DependencyManager dependencyManager = new DependencyManagerImpl(cacheDirectory, executorService);

        Set<Dependency> dependencies = new HashSet<>(Arrays.asList(Dependency.values()));
        System.out.println("Preloading " + dependencies.size() + " dependencies...");

        dependencies.removeAll(RelocationHandler.DEPENDENCIES);
        dependencyManager.loadDependencies(RelocationHandler.DEPENDENCIES);
        dependencyManager.loadDependencies(dependencies);

        System.out.println("Done!");
    }
Pre-loads and pre-relocates all possible dependencies.
standalone/src/main/java/me/lucko/luckperms/standalone/StandaloneDependencyPreloader.java