diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameLauncher.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameLauncher.java index bcb020fd2..26f288436 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameLauncher.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameLauncher.java @@ -25,6 +25,7 @@ import org.jackhuang.hmcl.util.Logging; import org.jackhuang.hmcl.util.i18n.I18n; import org.jackhuang.hmcl.util.io.FileUtils; import org.jackhuang.hmcl.util.platform.ManagedProcess; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.io.File; import java.io.IOException; @@ -83,9 +84,10 @@ public final class HMCLGameLauncher extends DefaultLauncher { 1.11 ~ 12:zh_cn 时正常,zh_CN 时虽然显示了中文但语言设置会错误地显示选择英文 1.13+ :zh_cn 时正常,zh_CN 时自动切换为英文 */ - if (this.version.compareTo(new Version("1.1")) < 0) { + VersionNumber gameVersion = VersionNumber.asVersion(repository.getGameVersion(version).orElse("0.0")); + if (gameVersion.compareTo("1.1") < 0) { lang = null; - } else if (this.version.compareTo(new Version("1.10")) <= 0) { + } else if (gameVersion.compareTo("1.11") < 0) { lang = "zh_CN"; } else { lang = "zh_cn"; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java index 50756a321..29fea8b83 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java @@ -256,7 +256,7 @@ public class DefaultLauncher extends Launcher { if (StringUtils.isNotBlank(options.getServerIp())) { String[] args = options.getServerIp().split(":"); - if (version.compareTo(new Version("1.20")) < 0) { + if (VersionNumber.VERSION_COMPARATOR.compare(repository.getGameVersion(version).orElse("0.0"), "1.20") < 0) { res.add("--server"); res.add(args[0]); res.add("--port");