From 8df17ae38a1e572159a13b538504b1ec35417990 Mon Sep 17 00:00:00 2001 From: yushijinhun Date: Thu, 7 Jun 2018 21:08:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E9=9D=99=E6=80=81=E6=96=B9?= =?UTF-8?q?=E6=B3=95pair()=E6=9B=BF=E4=BB=A3new=20Pair<>()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jackhuang/hmcl/game/LauncherHelper.java | 17 +++++----- .../org/jackhuang/hmcl/setting/Accounts.java | 11 ++++--- .../ui/export/ModpackFileSelectionPage.java | 33 ++++++++++--------- .../hmcl/auth/offline/OfflineAccount.java | 9 +++-- .../hmcl/auth/yggdrasil/YggdrasilService.java | 9 +++-- .../download/game/GameAssetRefreshTask.java | 4 ++- .../hmcl/launch/DefaultLauncher.java | 31 +++++++++-------- .../java/org/jackhuang/hmcl/util/Pair.java | 5 +++ 8 files changed, 69 insertions(+), 50 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java index 280cc6332..32e2acaac 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java @@ -17,9 +17,10 @@ */ package org.jackhuang.hmcl.game; -import com.jfoenix.concurrency.JFXUtilities; +import static org.jackhuang.hmcl.util.Lang.mapOf; +import static org.jackhuang.hmcl.util.Pair.pair; + import javafx.application.Platform; -import javafx.scene.layout.Region; import org.jackhuang.hmcl.Launcher; import org.jackhuang.hmcl.auth.Account; import org.jackhuang.hmcl.auth.AuthInfo; @@ -38,7 +39,6 @@ import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.DialogController; import org.jackhuang.hmcl.ui.LogWindow; import org.jackhuang.hmcl.ui.construct.MessageBox; -import org.jackhuang.hmcl.ui.construct.MessageDialogPane; import org.jackhuang.hmcl.ui.construct.TaskExecutorDialogPane; import org.jackhuang.hmcl.util.*; @@ -47,7 +47,6 @@ import java.util.*; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicInteger; -import java.util.function.Consumer; public final class LauncherHelper { public static final LauncherHelper INSTANCE = new LauncherHelper(); @@ -301,10 +300,10 @@ public final class LauncherHelper { if (authInfo == null) forbiddenTokens = Collections.emptyMap(); else - forbiddenTokens = Lang.mapOf( - new Pair<>(authInfo.getAccessToken(), ""), - new Pair<>(authInfo.getUserId(), ""), - new Pair<>(authInfo.getUsername(), "") + forbiddenTokens = mapOf( + pair(authInfo.getAccessToken(), ""), + pair(authInfo.getUserId(), ""), + pair(authInfo.getUsername(), "") ); visibility = setting.getLauncherVisibility(); @@ -334,7 +333,7 @@ public final class LauncherHelper { else System.out.print(log); - logs.add(new Pair<>(log, level)); + logs.add(pair(log, level)); if (logs.size() > Settings.INSTANCE.getLogLines()) logs.removeFirst(); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Accounts.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Accounts.java index b1d6ac5e9..0af6fa611 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Accounts.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Accounts.java @@ -17,6 +17,9 @@ */ package org.jackhuang.hmcl.setting; +import static org.jackhuang.hmcl.util.Lang.mapOf; +import static org.jackhuang.hmcl.util.Pair.pair; + import org.jackhuang.hmcl.Launcher; import org.jackhuang.hmcl.auth.Account; import org.jackhuang.hmcl.auth.AccountFactory; @@ -50,10 +53,10 @@ public final class Accounts { public static final String YGGDRASIL_ACCOUNT_KEY = "yggdrasil"; public static final String AUTHLIB_INJECTOR_ACCOUNT_KEY = "authlibInjector"; - public static final Map> ACCOUNT_FACTORY = Lang.mapOf( - new Pair<>(OFFLINE_ACCOUNT_KEY, OfflineAccountFactory.INSTANCE), - new Pair<>(YGGDRASIL_ACCOUNT_KEY, new YggdrasilAccountFactory(MojangYggdrasilProvider.INSTANCE)), - new Pair<>(AUTHLIB_INJECTOR_ACCOUNT_KEY, new AuthlibInjectorAccountFactory(Accounts::downloadAuthlibInjector)) + public static final Map> ACCOUNT_FACTORY = mapOf( + pair(OFFLINE_ACCOUNT_KEY, OfflineAccountFactory.INSTANCE), + pair(YGGDRASIL_ACCOUNT_KEY, new YggdrasilAccountFactory(MojangYggdrasilProvider.INSTANCE)), + pair(AUTHLIB_INJECTOR_ACCOUNT_KEY, new AuthlibInjectorAccountFactory(Accounts::downloadAuthlibInjector)) ); private static final Map AUTHLIB_INJECTOR_SERVER_NAMES = new HashMap<>(); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackFileSelectionPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackFileSelectionPage.java index 16910cc5f..72c8b2845 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackFileSelectionPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackFileSelectionPage.java @@ -17,6 +17,9 @@ */ package org.jackhuang.hmcl.ui.export; +import static org.jackhuang.hmcl.util.Lang.mapOf; +import static org.jackhuang.hmcl.util.Pair.pair; + import com.jfoenix.controls.JFXTreeView; import javafx.fxml.FXML; import javafx.scene.control.CheckBox; @@ -33,8 +36,6 @@ import org.jackhuang.hmcl.ui.construct.NoneMultipleSelectionModel; import org.jackhuang.hmcl.ui.wizard.WizardController; import org.jackhuang.hmcl.ui.wizard.WizardPage; import org.jackhuang.hmcl.util.FileUtils; -import org.jackhuang.hmcl.util.Lang; -import org.jackhuang.hmcl.util.Pair; import org.jackhuang.hmcl.util.StringUtils; import java.io.File; @@ -154,19 +155,19 @@ public final class ModpackFileSelectionPage extends StackPane implements WizardP } public static final String MODPACK_FILE_SELECTION = "modpack.accepted"; - private static final Map TRANSLATION = Lang.mapOf( - new Pair<>("minecraft/servers.dat", Launcher.i18n("modpack.files.servers_dat")), - new Pair<>("minecraft/saves", Launcher.i18n("modpack.files.saves")), - new Pair<>("minecraft/mods", Launcher.i18n("modpack.files.mods")), - new Pair<>("minecraft/config", Launcher.i18n("modpack.files.config")), - new Pair<>("minecraft/liteconfig", Launcher.i18n("modpack.files.liteconfig")), - new Pair<>("minecraft/resourcepacks", Launcher.i18n("modpack.files.resourcepacks")), - new Pair<>("minecraft/resources", Launcher.i18n("modpack.files.resourcepacks")), - new Pair<>("minecraft/options.txt", Launcher.i18n("modpack.files.options_txt")), - new Pair<>("minecraft/optionsshaders.txt", Launcher.i18n("modpack.files.optionsshaders_txt")), - new Pair<>("minecraft/mods/VoxelMods", Launcher.i18n("modpack.files.mods.voxelmods")), - new Pair<>("minecraft/dumps", Launcher.i18n("modpack.files.dumps")), - new Pair<>("minecraft/blueprints", Launcher.i18n("modpack.files.blueprints")), - new Pair<>("minecraft/scripts", Launcher.i18n("modpack.files.scripts")) + private static final Map TRANSLATION = mapOf( + pair("minecraft/servers.dat", Launcher.i18n("modpack.files.servers_dat")), + pair("minecraft/saves", Launcher.i18n("modpack.files.saves")), + pair("minecraft/mods", Launcher.i18n("modpack.files.mods")), + pair("minecraft/config", Launcher.i18n("modpack.files.config")), + pair("minecraft/liteconfig", Launcher.i18n("modpack.files.liteconfig")), + pair("minecraft/resourcepacks", Launcher.i18n("modpack.files.resourcepacks")), + pair("minecraft/resources", Launcher.i18n("modpack.files.resourcepacks")), + pair("minecraft/options.txt", Launcher.i18n("modpack.files.options_txt")), + pair("minecraft/optionsshaders.txt", Launcher.i18n("modpack.files.optionsshaders_txt")), + pair("minecraft/mods/VoxelMods", Launcher.i18n("modpack.files.mods.voxelmods")), + pair("minecraft/dumps", Launcher.i18n("modpack.files.dumps")), + pair("minecraft/blueprints", Launcher.i18n("modpack.files.blueprints")), + pair("minecraft/scripts", Launcher.i18n("modpack.files.scripts")) ); } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccount.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccount.java index b02ef7e70..4bce482b9 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccount.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccount.java @@ -17,6 +17,9 @@ */ package org.jackhuang.hmcl.auth.offline; +import static org.jackhuang.hmcl.util.Lang.mapOf; +import static org.jackhuang.hmcl.util.Pair.pair; + import org.jackhuang.hmcl.auth.Account; import org.jackhuang.hmcl.auth.AuthInfo; import org.jackhuang.hmcl.auth.AuthenticationException; @@ -91,9 +94,9 @@ public class OfflineAccount extends Account { @Override public Map toStorage() { - return Lang.mapOf( - new Pair<>("uuid", uuid), - new Pair<>("username", username) + return mapOf( + pair("uuid", uuid), + pair("username", username) ); } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilService.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilService.java index 639f38a8d..4db19b654 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilService.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilService.java @@ -1,5 +1,8 @@ package org.jackhuang.hmcl.auth.yggdrasil; +import static org.jackhuang.hmcl.util.Lang.mapOf; +import static org.jackhuang.hmcl.util.Pair.pair; + import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonParseException; @@ -33,9 +36,9 @@ public class YggdrasilService { Objects.requireNonNull(clientToken); Map request = new HashMap<>(); - request.put("agent", Lang.mapOf( - new Pair<>("name", "Minecraft"), - new Pair<>("version", 1) + request.put("agent", mapOf( + pair("name", "Minecraft"), + pair("version", 1) )); request.put("username", username); request.put("password", password); diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetRefreshTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetRefreshTask.java index cc2d8f743..cf7c81886 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetRefreshTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetRefreshTask.java @@ -17,6 +17,8 @@ */ package org.jackhuang.hmcl.download.game; +import static org.jackhuang.hmcl.util.Pair.pair; + import org.jackhuang.hmcl.download.AbstractDependencyManager; import org.jackhuang.hmcl.game.AssetIndex; import org.jackhuang.hmcl.game.AssetIndexInfo; @@ -82,7 +84,7 @@ public final class GameAssetRefreshTask extends TaskResult(dependencyManager.getGameRepository().getAssetObject(version.getId(), assetIndexInfo.getId(), assetObject), assetObject)); + res.add(pair(dependencyManager.getGameRepository().getAssetObject(version.getId(), assetIndexInfo.getId(), assetObject), assetObject)); updateProgress(++progress, index.getObjects().size()); } setResult(res); diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java index ded8474e7..a9d3c8ccc 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java @@ -17,6 +17,9 @@ */ package org.jackhuang.hmcl.launch; +import static org.jackhuang.hmcl.util.Lang.mapOf; +import static org.jackhuang.hmcl.util.Pair.pair; + import org.jackhuang.hmcl.auth.AuthInfo; import org.jackhuang.hmcl.game.*; import org.jackhuang.hmcl.util.*; @@ -191,8 +194,8 @@ public class DefaultLauncher extends Launcher { ); } - private final Map> forbiddens = Lang.mapOf( - new Pair>("-Xincgc", () -> options.getJava().getParsedVersion() >= JavaVersion.JAVA_9) + private final Map> forbiddens = mapOf( + pair("-Xincgc", () -> options.getJava().getParsedVersion() >= JavaVersion.JAVA_9) ); protected Map> getForbiddens() { @@ -232,18 +235,18 @@ public class DefaultLauncher extends Launcher { } protected Map getConfigurations() { - return Lang.mapOf( - new Pair<>("${auth_player_name}", authInfo.getUsername()), - new Pair<>("${auth_session}", authInfo.getAccessToken()), - new Pair<>("${auth_access_token}", authInfo.getAccessToken()), - new Pair<>("${auth_uuid}", authInfo.getUserId()), - new Pair<>("${version_name}", Optional.ofNullable(options.getVersionName()).orElse(version.getId())), - new Pair<>("${profile_name}", Optional.ofNullable(options.getProfileName()).orElse("Minecraft")), - new Pair<>("${version_type}", version.getType().getId()), - new Pair<>("${game_directory}", repository.getRunDirectory(version.getId()).getAbsolutePath()), - new Pair<>("${user_type}", authInfo.getUserType().toString().toLowerCase()), - new Pair<>("${assets_index_name}", version.getAssetIndex().getId()), - new Pair<>("${user_properties}", authInfo.getUserProperties()) + return mapOf( + pair("${auth_player_name}", authInfo.getUsername()), + pair("${auth_session}", authInfo.getAccessToken()), + pair("${auth_access_token}", authInfo.getAccessToken()), + pair("${auth_uuid}", authInfo.getUserId()), + pair("${version_name}", Optional.ofNullable(options.getVersionName()).orElse(version.getId())), + pair("${profile_name}", Optional.ofNullable(options.getProfileName()).orElse("Minecraft")), + pair("${version_type}", version.getType().getId()), + pair("${game_directory}", repository.getRunDirectory(version.getId()).getAbsolutePath()), + pair("${user_type}", authInfo.getUserType().toString().toLowerCase()), + pair("${assets_index_name}", version.getAssetIndex().getId()), + pair("${user_properties}", authInfo.getUserProperties()) ); } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Pair.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Pair.java index 698a50514..a7bdc191d 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Pair.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Pair.java @@ -26,9 +26,14 @@ import java.util.Objects; */ public class Pair implements Map.Entry { + public static Pair pair(K key, V value) { + return new Pair<>(key, value); + } + private K key; private V value; + @Deprecated public Pair(K key, V value) { this.key = key; this.value = value;