add: MCBBS download provider

This commit is contained in:
huanghongxun
2020-02-02 23:32:01 +08:00
parent bb2e74009e
commit 214ff9de94
19 changed files with 130 additions and 86 deletions

View File

@@ -17,27 +17,27 @@
*/
package org.jackhuang.hmcl.setting;
import static org.jackhuang.hmcl.setting.ConfigHolder.config;
import static org.jackhuang.hmcl.util.Lang.mapOf;
import static org.jackhuang.hmcl.util.Pair.pair;
import java.util.Map;
import java.util.Optional;
import javafx.beans.binding.Bindings;
import javafx.beans.binding.ObjectBinding;
import javafx.beans.value.ObservableObjectValue;
import org.jackhuang.hmcl.download.BMCLAPIDownloadProvider;
import org.jackhuang.hmcl.download.DownloadProvider;
import org.jackhuang.hmcl.download.MojangDownloadProvider;
import javafx.beans.binding.Bindings;
import javafx.beans.binding.ObjectBinding;
import javafx.beans.value.ObservableObjectValue;
import java.util.Map;
import java.util.Optional;
import static org.jackhuang.hmcl.setting.ConfigHolder.config;
import static org.jackhuang.hmcl.util.Lang.mapOf;
import static org.jackhuang.hmcl.util.Pair.pair;
public final class DownloadProviders {
private DownloadProviders() {}
public static final Map<String, DownloadProvider> providersById = mapOf(
pair("mojang", new MojangDownloadProvider()),
pair("bmclapi", new BMCLAPIDownloadProvider()));
pair("bmclapi", new BMCLAPIDownloadProvider("https://bmclapi2.bangbang93.com")),
pair("mcbbs", new BMCLAPIDownloadProvider("https://download.mcbbs.net")));
public static final String DEFAULT_PROVIDER_ID = "bmclapi";

View File

@@ -17,8 +17,6 @@
*/
package org.jackhuang.hmcl.ui.download;
import static org.jackhuang.hmcl.util.Logging.LOG;
import com.jfoenix.controls.JFXCheckBox;
import com.jfoenix.controls.JFXListView;
import com.jfoenix.controls.JFXSpinner;
@@ -44,9 +42,10 @@ import java.util.Map;
import java.util.logging.Level;
import java.util.stream.Collectors;
import static org.jackhuang.hmcl.util.Logging.LOG;
public final class VersionsPage extends BorderPane implements WizardPage, Refreshable {
private final String gameVersion;
private final DownloadProvider downloadProvider;
private final String libraryId;
private final String title;
private final WizardController controller;
@@ -79,7 +78,6 @@ public final class VersionsPage extends BorderPane implements WizardPage, Refres
public VersionsPage(WizardController controller, String title, String gameVersion, DownloadProvider downloadProvider, String libraryId, Runnable callback) {
this.title = title;
this.gameVersion = gameVersion;
this.downloadProvider = downloadProvider;
this.libraryId = libraryId;
this.controller = controller;
this.versionList = downloadProvider.getVersionListById(libraryId);
@@ -128,7 +126,7 @@ public final class VersionsPage extends BorderPane implements WizardPage, Refres
@Override
public void refresh() {
transitionHandler.setContent(spinner, ContainerAnimations.FADE.getAnimationProducer());
executor = versionList.refreshAsync(gameVersion, downloadProvider).whenComplete(exception -> {
executor = versionList.refreshAsync(gameVersion).whenComplete(exception -> {
if (exception == null) {
List<VersionsPageItem> items = loadVersions();

View File

@@ -71,6 +71,7 @@ archive.version=Version
assets.download=Downloading assets
assets.download_all=Asset Integrity Check
assets.index.malformed=Asset index malformed, you can retry by "Update Game Asset Files" in version settings.
button.cancel=Cancel
button.clear=Clear
@@ -95,6 +96,7 @@ download.code.404=File not found on the remote server
download.failed=Failed to download
download.failed.empty=No candidates. Click here to return.
download.failed.refresh=Unable to download version list. Click here to retry.
download.provider.mcbbs=MCBBS (https://www.mcbbs.net/)
download.provider.bmclapi=BMCLAPI (bangbang93, https://bmclapi2.bangbang93.com/)
download.provider.mojang=Mojang (Forge and OptiFine installation are downloaded from BMCLAPI)

View File

@@ -95,6 +95,7 @@ download.code.404=Archivo no encontrado en servidor remoto
download.failed=Falló en descargar
download.failed.empty=No hay candidatos. Clic aquí para regresar.
download.failed.refresh=No se pudo cargar lista de versiones. Clic aquí para reintentar.
download.provider.mcbbs=MCBBS (https://www.mcbbs.net/)
download.provider.bmclapi=BMCLAPI (bangbang93, https://bmclapi2.bangbang93.com/)
download.provider.mojang=Mojang (instalaciones de Forge y OptiFine siendo descargadas por BMCLAPI)

View File

@@ -95,7 +95,8 @@ download.code.404=Файл не найден на удаленном серве
download.failed=Не удалось загрузить
download.failed.empty=Нет вариантов. Нажмите здесь, чтобы вернуться.
download.failed.refresh=Невозможно загрузить список версий. Нажмите здесь, чтобы повторить попытку.
download.provider.bmclapi=BMCLAPI (Резервный)
download.provider.mcbbs=MCBBS (https://www.mcbbs.net/)
download.provider.bmclapi=BMCLAPI (bangbang93, https://bmclapi2.bangbang93.com/)
download.provider.mojang=Mojang (Официальный)
extension.bat=Windows Bat файл

View File

@@ -70,6 +70,7 @@ archive.version=版本
assets.download=下載資源
assets.download_all=驗證資源檔案完整性
assets.index.malformed=資源文件索引資料損壞,您可以在遊戲設定頁面右上角的設定按鈕中選擇更新遊戲資源檔案以修復該問題
button.cancel=取消
button.clear=清除
@@ -94,6 +95,7 @@ download.code.404=遠程伺服器不包含需要下載的文件
download.failed=下載失敗
download.failed.empty=沒有可供安裝的版本,點擊此處返回。
download.failed.refresh=載入版本列表失敗,點擊此處重試。
download.provider.mcbbs=我的世界中文論壇 (MCBBS, https://www.mcbbs.net/)
download.provider.bmclapi=BMCLAPIbangbang93https://bmclapi2.bangbang93.com/
download.provider.mojang=官方伺服器Forge 和 OptiFine 自動安裝的下載來源是 BMCLAPI

View File

@@ -70,6 +70,7 @@ archive.version=版本
assets.download=下载资源
assets.download_all=检查资源文件完整性
assets.index.malformed=资源文件索引文件损坏,您可以在游戏设置页面右上角的设置按钮中选择更新游戏资源文件以修复该问题
button.cancel=取消
button.clear=清除
@@ -94,6 +95,7 @@ download.code.404=远程服务器不包含需要下载的文件
download.failed=下载失败
download.failed.empty=没有可供安装的版本,点击此处返回。
download.failed.refresh=加载版本列表失败,点击此处重试。
download.provider.mcbbs=我的世界中文论坛 (MCBBS, https://www.mcbbs.net/)
download.provider.bmclapi=BMCLAPIbangbang93https://bmclapi2.bangbang93.com/
download.provider.mojang=官方Forge 和 OptiFine 自动安装使用 BMCLAPI 下载源)