diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java index 9529f7831..a73dbe374 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java @@ -333,7 +333,8 @@ public final class LauncherHelper { } private static Task checkGameState(Profile profile, VersionSetting setting, Version version) { - GameVersionNumber gameVersion = GameVersionNumber.asGameVersion(profile.getRepository().getGameVersion(version)); + LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(version, profile.getRepository().getGameVersion(version).orElse(null)); + GameVersionNumber gameVersion = GameVersionNumber.asGameVersion(analyzer.getVersion(LibraryAnalyzer.LibraryType.MINECRAFT)); if (setting.isNotCheckJVM()) { return Task.composeAsync(() -> setting.getJavaVersion(gameVersion, version)) @@ -417,7 +418,6 @@ public final class LauncherHelper { JavaVersionConstraint violatedMandatoryConstraint = null; List violatedSuggestedConstraints = null; - LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(version, gameVersion.toString()); for (JavaVersionConstraint constraint : JavaVersionConstraint.ALL) { if (constraint.appliesToVersion(gameVersion, version, javaVersion, analyzer)) { if (!constraint.checkJava(gameVersion, version, javaVersion)) { diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java index 68a0f3a70..7ea3635da 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java @@ -104,8 +104,13 @@ final class GameVersion { if (minecraft != null) { try (InputStream is = gameJar.getInputStream(minecraft)) { Optional result = getVersionOfClassMinecraft(is); - if (result.isPresent()) + if (result.isPresent()) { + String version = result.get(); + if (version.startsWith("Beta ")) { + result = Optional.of("b" + version.substring("Beta ".length())); + } return result; + } } }