From 95a1496389e6a8c2f51697706a20055a7952b8a5 Mon Sep 17 00:00:00 2001 From: Zkitefly <2573874409@qq.com> Date: Tue, 20 Aug 2024 01:08:49 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20#3223:=20=E6=AD=A3=E7=A1=AE=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E5=8C=85=E5=90=AB=20hash=20=E7=9A=84=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=20(#3224)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix #3223 * 使用正则表达式删除内容 * 添加日志 添加日志 * Update GameVersion.java * Update GameVersion.java * update * update * update --------- Co-authored-by: Glavo --- .../main/java/org/jackhuang/hmcl/game/GameVersion.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 063c90240d..04188c8857 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java @@ -35,7 +35,6 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import static org.jackhuang.hmcl.util.Lang.tryCast; import static org.jackhuang.hmcl.util.logging.Logger.LOG; /** @@ -48,8 +47,11 @@ private GameVersion() { private static Optional getVersionFromJson(InputStream versionJson) { try { Map version = JsonUtils.fromNonNullJsonFully(versionJson, Map.class); - return tryCast(version.get("id"), String.class); - } catch (IOException | JsonParseException e) { + String id = (String) version.get("id"); + if (id != null && id.contains(" / ")) + id = id.substring(0, id.indexOf(" / ")); + return Optional.ofNullable(id); + } catch (IOException | JsonParseException | ClassCastException e) { LOG.warning("Failed to parse version.json", e); return Optional.empty(); }