diff --git a/libraries/launcher/legacy/org/prismlauncher/legacy/fix/online/OnlineModeFix.java b/libraries/launcher/legacy/org/prismlauncher/legacy/fix/online/OnlineModeFix.java index b822d6469..01b7f3e8c 100644 --- a/libraries/launcher/legacy/org/prismlauncher/legacy/fix/online/OnlineModeFix.java +++ b/libraries/launcher/legacy/org/prismlauncher/legacy/fix/online/OnlineModeFix.java @@ -84,7 +84,16 @@ public final class OnlineModeFix { // sessionId has the form: // token:: - String accessToken = sessionId.split(":")[1]; + // or, as of Minecraft release 1.3.1, it may be URL encoded: + // token%3A%3A + String accessToken; + if (sessionId.contains(":")) { + accessToken = sessionId.split(":")[1]; + } else if (sessionId.contains("%3A")) { + accessToken = sessionId.split("%3A")[1]; + } else { + throw new AssertionError("invalid sessionId"); + } String uuid = null; uuid = MojangApi.getUuid(user, proxy);