From 2efe05d61bac019d497e41fa3c1fac2d781130d1 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Sat, 30 Oct 2021 20:41:34 +0200 Subject: [PATCH] fix microsoft account stay logged in, hud: title position fixes, bossbar center fixes --- .../minosoft/data/accounts/types/MicrosoftAccount.kt | 9 +++++---- .../rendering/gui/hud/elements/bossbar/BossbarElement.kt | 3 ++- .../rendering/gui/hud/elements/title/TitleHUDElement.kt | 2 +- .../util/account/microsoft/MicrosoftOAuthUtils.kt | 3 +-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/data/accounts/types/MicrosoftAccount.kt b/src/main/java/de/bixilon/minosoft/data/accounts/types/MicrosoftAccount.kt index af204b725..e944d7a5e 100644 --- a/src/main/java/de/bixilon/minosoft/data/accounts/types/MicrosoftAccount.kt +++ b/src/main/java/de/bixilon/minosoft/data/accounts/types/MicrosoftAccount.kt @@ -25,8 +25,7 @@ import java.util.* class MicrosoftAccount( val uuid: UUID, username: String, - @Json(name = "user_hash") private val userHash: String, - @Json(name = "xsts_token") private val xstsToken: String, + @Json(name = "authorization_token") private val authorizationToken: String, ) : Account(username) { @Transient var accessToken: String? = null override val id: String = uuid.toString() @@ -42,6 +41,9 @@ class MicrosoftAccount( if (accessToken != null) { return } + val (xboxLiveToken, userHash) = MicrosoftOAuthUtils.getXboxLiveToken(authorizationToken) + val xstsToken = MicrosoftOAuthUtils.getXSTSToken(xboxLiveToken) + accessToken = MicrosoftOAuthUtils.getMinecraftBearerAccessToken(userHash, xstsToken) } @@ -49,8 +51,7 @@ class MicrosoftAccount( return mapOf( "uuid" to uuid, "username" to username, - "user_hash" to userHash, - "xsts_token" to xstsToken, + "authorization_token" to authorizationToken, "type" to type, ) } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/bossbar/BossbarElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/bossbar/BossbarElement.kt index c42c5365a..a77606403 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/bossbar/BossbarElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/bossbar/BossbarElement.kt @@ -46,9 +46,10 @@ class BossbarElement( } override fun forceRender(offset: Vec2i, z: Int, consumer: GUIVertexConsumer, options: GUIVertexOptions?): Int { + val size = size val titleSize = titleElement.size titleElement.render(offset + Vec2i(HorizontalAlignments.CENTER.getOffset(size.x, titleSize.x), 0), z, consumer, options) - progress.render(offset + Vec2i(0, titleSize.y), z, consumer, options) + progress.render(offset + Vec2i(HorizontalAlignments.CENTER.getOffset(size.x, progress.size.x), titleSize.y), z, consumer, options) return TextElement.LAYERS } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/title/TitleHUDElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/title/TitleHUDElement.kt index c98e65db3..5ed3375b6 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/title/TitleHUDElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/title/TitleHUDElement.kt @@ -33,7 +33,7 @@ class TitleHUDElement(hudRenderer: HUDRenderer) : LayoutedHUDElement