@@ -0,0 +1,1011 @@
+package com.github.to2mbn.jmccc.mcdownloader;%0A%0Aimport java.util.concurrent.CompletableFuture;%0Aimport com.github.to2mbn.jmccc.version.Library;%0A%0Apublic interface Downloader %7B%0A%0A%09/**%0A%09 * Fetches the remote versions list asynchronously.%0A%09 * %0A%09 * @return the remote versions list%0A%09 */%0A%09CompletableFuture%3CRemoteVersionList%3E getRemoteVersionList();%0A%0A%09/**%0A%09 * Downloads the given library asynchronously.%0A%09 * %0A%09 * @param library the library to download%0A%09 * @return void%0A%09 */%0A%09CompletableFuture%3CVoid%3E downloadLibrary(Library library);%0A%0A%09/**%0A%09 * Downloads a minecraft asynchronously.%0A%09 * %0A%09 * @param version the version of the minecraft to download%0A%09 * @return void%0A%09 */%0A%09CompletableFuture%3CVoid%3E downloadVersion(String version);%0A%0A%09/**%0A%09 * Downloads the assets asynchronously.%0A%09 * %3Cp%3E%0A%09 * This method will check the hashes of the assets first, and then download the missing or broken assets.%0A%09 * %0A%09 * @param version the version of the assets%0A%09 * @return void%0A%09 */%0A%09CompletableFuture%3CVoid%3E downloadAssets(String version);%0A%0A%7D%0A

add Downloader