diff options
author | Lulonaut <lulonaut@lulonaut.tech> | 2024-01-04 11:13:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-04 11:13:33 +0100 |
commit | ed5b74e3d9fc3056187cd153a118019b657e061a (patch) | |
tree | e91f7a22822046a17608090ba2309e30b89e01a4 | |
parent | 5e21422a8e8cb164a46f5eede9a6f28f84a35675 (diff) | |
download | NotEnoughUpdates-ed5b74e3d9fc3056187cd153a118019b657e061a.tar.gz NotEnoughUpdates-ed5b74e3d9fc3056187cd153a118019b657e061a.tar.bz2 NotEnoughUpdates-ed5b74e3d9fc3056187cd153a118019b657e061a.zip |
Fix crash for old player profiles (#987)
-rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java index 21bdfa43..86db77ca 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java @@ -19,6 +19,7 @@ package io.github.moulberry.notenoughupdates.profileviewer; +import com.google.gson.JsonPrimitive; import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.core.util.StringUtils; import io.github.moulberry.notenoughupdates.cosmetics.ShaderManager; @@ -191,11 +192,7 @@ public class GuiProfileViewer extends GuiScreen { GuiProfileViewer.profile = profile; GuiProfileViewer.profileName = profile.getLatestProfileName(); - String playerName = ""; - if (profile.getHypixelProfile() != null) { - playerName = profile.getHypixelProfile().get("displayname").getAsString(); - } - playerNameTextField = new GuiElementTextField(playerName, GuiElementTextField.SCALE_TEXT); + playerNameTextField = new GuiElementTextField(getDisplayName(), GuiElementTextField.SCALE_TEXT); playerNameTextField.setSize(100, 20); if (currentPage == ProfileViewerPage.LOADING) { @@ -647,11 +644,16 @@ public class GuiProfileViewer extends GuiScreen { Utils.drawItemStack(stack, x + 6, y + 9); } + private static String getDisplayName() { + return Utils.getElementOrDefault( + profile.getHypixelProfile(), + "displayname", + new JsonPrimitive(EnumChatFormatting.RED + "ERROR") + ).getAsString(); + } + private void renderRecentPlayers(boolean renderCurrent) { - String playerName = ""; - if (profile.getHypixelProfile() != null) { - playerName = profile.getHypixelProfile().get("displayname").getAsString(); - } + String playerName = getDisplayName(); boolean selected = Objects.equals(Minecraft.getMinecraft().thePlayer.getName(), playerName); if (selected == renderCurrent) { @@ -749,10 +751,8 @@ public class GuiProfileViewer extends GuiScreen { } } - String playerName = ""; - if (profile.getHypixelProfile() != null) { - playerName = profile.getHypixelProfile().get("displayname").getAsString().toLowerCase(); - } + String playerName = getDisplayName(); + int x = guiLeft + sizeX; int y = guiTop; List<String> previousProfileSearches = NotEnoughUpdates.INSTANCE.config.hidden.previousProfileSearches; @@ -799,7 +799,7 @@ public class GuiProfileViewer extends GuiScreen { ) { if (mouseY > guiTop + sizeY + 3 && mouseY < guiTop + sizeY + 23) { String url = - "https://sky.shiiyu.moe/stats/" + profile.getHypixelProfile().get("displayname").getAsString() + "/" + + "https://sky.shiiyu.moe/stats/" + getDisplayName() + "/" + profileName; Utils.openUrl(url); Utils.playPressSound(); |