mirror of
https://github.com/ViaVersion/ViaFabricPlus.git
synced 2024-11-21 11:46:49 +01:00
This commit is contained in:
parent
acdc1540ab
commit
46f164eda5
@ -32,6 +32,6 @@ vialoader_version=2.2.7-SNAPSHOT
|
||||
reflect_version=1.2.0
|
||||
|
||||
# other libs
|
||||
mod_menu_version=7.0.0-beta.2
|
||||
mod_menu_version=7.1.0
|
||||
netty_codec_http_version=4.1.90.Final
|
||||
mixin_extras_version=0.2.0-beta.7
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package de.florianmichael.viafabricplus.base.settings.groups;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import de.florianmichael.viafabricplus.base.settings.base.SettingGroup;
|
||||
import de.florianmichael.viafabricplus.base.settings.type_impl.BooleanSetting;
|
||||
import de.florianmichael.viafabricplus.base.settings.type_impl.ButtonSetting;
|
||||
@ -44,6 +45,7 @@ public class BedrockSettings extends SettingGroup {
|
||||
public final static BedrockSettings INSTANCE = new BedrockSettings();
|
||||
|
||||
public final ButtonSetting BEDROCK_ACCOUNT = new ButtonSetting(this, Text.translatable("bedrock.viafabricplus.authentication"), () -> CompletableFuture.runAsync(() -> {
|
||||
final var prevScreen = MinecraftClient.getInstance().currentScreen;
|
||||
try {
|
||||
try (final CloseableHttpClient httpClient = MicrosoftConstants.createHttpClient()) {
|
||||
final var mcChain = MinecraftAuth.BEDROCK_DEVICE_CODE_LOGIN.getFromInput(httpClient, new StepMsaDeviceCode.MsaDeviceCodeCallback(msaDeviceCode -> {
|
||||
@ -51,7 +53,7 @@ public class BedrockSettings extends SettingGroup {
|
||||
if (consumer) {
|
||||
MinecraftClient.getInstance().keyboard.setClipboard(msaDeviceCode.userCode());
|
||||
} else {
|
||||
SettingsScreen.INSTANCE.open(new MultiplayerScreen(new TitleScreen()));
|
||||
MinecraftClient.getInstance().setScreen(prevScreen);
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}, Text.literal("Microsoft Bedrock login"), Text.translatable("bedrocklogin.viafabricplus.text", msaDeviceCode.userCode()), Text.translatable("words.viafabricplus.copy"), Text.translatable("words.viafabricplus.cancel"))));
|
||||
@ -64,7 +66,7 @@ public class BedrockSettings extends SettingGroup {
|
||||
}));
|
||||
BedrockAccountHandler.INSTANCE.setAccount(mcChain, MinecraftAuth.BEDROCK_PLAY_FAB_TOKEN.getFromInput(httpClient, mcChain.prevResult().fullXblSession()));
|
||||
}
|
||||
ProtocolSelectionScreen.INSTANCE.open(new MultiplayerScreen(new TitleScreen()));
|
||||
RenderSystem.recordRenderCall(() -> MinecraftClient.getInstance().setScreen(prevScreen));
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
MinecraftClient.getInstance().execute(() -> MinecraftClient.getInstance().setScreen(new NoticeScreen(() -> Thread.currentThread().interrupt(), Text.literal("Microsoft Bedrock login"), Text.translatable("bedrocklogin.viafabricplus.error"), Text.translatable("words.viafabricplus.cancel"), false)));
|
||||
|
Loading…
Reference in New Issue
Block a user