diff --git a/core/src/main/java/org/geysermc/geyser/util/LoginEncryptionUtils.java b/core/src/main/java/org/geysermc/geyser/util/LoginEncryptionUtils.java index ea1ff770a..372d40258 100644 --- a/core/src/main/java/org/geysermc/geyser/util/LoginEncryptionUtils.java +++ b/core/src/main/java/org/geysermc/geyser/util/LoginEncryptionUtils.java @@ -310,7 +310,14 @@ public class LoginEncryptionUtils { .label("geyser.auth.login.form.details.desc") .input("geyser.auth.login.form.details.email", "account@geysermc.org", "") .input("geyser.auth.login.form.details.pass", "123456", "") - .closedOrInvalidResultHandler(() -> buildAndShowLoginDetailsWindow(session)) + .invalidResultHandler(() -> buildAndShowLoginDetailsWindow(session)) + .closedResultHandler(() -> { + if (session.isMicrosoftAccount()) { + buildAndShowMicrosoftAuthenticationWindow(session); + } else { + buildAndShowLoginWindow(session); + } + }) .validResultHandler((response) -> session.authenticate(response.next(), response.next()))); }