AuthlibInjectorAccountFactory的addtionalData改为AuthlibInjectorServer类型

This commit is contained in:
yushijinhun
2018-06-16 23:14:04 +08:00
parent 89b68781fa
commit 110149d0e6
3 changed files with 4 additions and 7 deletions

View File

@@ -144,7 +144,7 @@ public class AddAccountPane extends StackPane {
factory = Accounts.ACCOUNT_FACTORY.get(Accounts.AUTHLIB_INJECTOR_ACCOUNT_KEY); factory = Accounts.ACCOUNT_FACTORY.get(Accounts.AUTHLIB_INJECTOR_ACCOUNT_KEY);
Optional<AuthlibInjectorServer> server = Optional.ofNullable(cboServers.getSelectionModel().getSelectedItem()); Optional<AuthlibInjectorServer> server = Optional.ofNullable(cboServers.getSelectionModel().getSelectedItem());
if (server.isPresent()) { if (server.isPresent()) {
addtionalData = server.get().getUrl(); addtionalData = server.get();
} else { } else {
lblCreationWarning.setText(Launcher.i18n("account.failed.no_selected_server")); lblCreationWarning.setText(Launcher.i18n("account.failed.no_selected_server"));
return; return;

View File

@@ -46,6 +46,7 @@ import javafx.util.Duration;
import javafx.util.StringConverter; import javafx.util.StringConverter;
import org.jackhuang.hmcl.Launcher; import org.jackhuang.hmcl.Launcher;
import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorServer;
import org.jackhuang.hmcl.util.*; import org.jackhuang.hmcl.util.*;
import java.io.File; import java.io.File;

View File

@@ -6,7 +6,6 @@ import org.jackhuang.hmcl.auth.CharacterSelector;
import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilService; import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilService;
import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilSession; import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilSession;
import org.jackhuang.hmcl.util.ExceptionalSupplier; import org.jackhuang.hmcl.util.ExceptionalSupplier;
import org.jackhuang.hmcl.util.NetworkUtils;
import java.net.Proxy; import java.net.Proxy;
import java.util.Map; import java.util.Map;
@@ -28,16 +27,13 @@ public class AuthlibInjectorAccountFactory extends AccountFactory<AuthlibInjecto
} }
@Override @Override
public AuthlibInjectorAccount create(CharacterSelector selector, String username, String password, Object apiRoot, Proxy proxy) throws AuthenticationException { public AuthlibInjectorAccount create(CharacterSelector selector, String username, String password, Object additionalData, Proxy proxy) throws AuthenticationException {
Objects.requireNonNull(selector); Objects.requireNonNull(selector);
Objects.requireNonNull(username); Objects.requireNonNull(username);
Objects.requireNonNull(password); Objects.requireNonNull(password);
Objects.requireNonNull(proxy); Objects.requireNonNull(proxy);
if (!(apiRoot instanceof String) || !NetworkUtils.isURL((String) apiRoot)) AuthlibInjectorServer server = (AuthlibInjectorServer) additionalData;
throw new IllegalArgumentException("Additional data should be API root string for authlib injector accounts.");
AuthlibInjectorServer server = serverLookup.apply((String) apiRoot);
AuthlibInjectorAccount account = new AuthlibInjectorAccount(new YggdrasilService(new AuthlibInjectorProvider(server.getUrl()), proxy), AuthlibInjectorAccount account = new AuthlibInjectorAccount(new YggdrasilService(new AuthlibInjectorProvider(server.getUrl()), proxy),
server, injectorJarPathSupplier, username, null, null); server, injectorJarPathSupplier, username, null, null);