diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.java index b10b4d251..837e3edfb 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.java @@ -250,7 +250,7 @@ public final class VersionsPage extends Control implements WizardPage, Refreshab twoLineListItem.addTag(i18n("version.game.release")); imageView.setImage(VersionIconType.GRASS.getIcon()); } - case PENDING, SNAPSHOT -> { + case SNAPSHOT, PENDING, UNOBFUSCATED -> { if (versionType == RemoteVersion.Type.SNAPSHOT && GameVersionNumber.asGameVersion(remoteVersion.getGameVersion()).isAprilFools()) { twoLineListItem.addTag(i18n("version.game.april_fools")); @@ -455,7 +455,8 @@ public final class VersionsPage extends Control implements WizardPage, Refreshab return switch (filter) { case RELEASE -> versionType == RemoteVersion.Type.RELEASE; case SNAPSHOTS -> versionType == RemoteVersion.Type.SNAPSHOT - || versionType == RemoteVersion.Type.PENDING; + || versionType == RemoteVersion.Type.PENDING + || versionType == RemoteVersion.Type.UNOBFUSCATED; case APRIL_FOOLS -> versionType == RemoteVersion.Type.SNAPSHOT && GameVersionNumber.asGameVersion(it.getGameVersion()).isAprilFools(); case OLD -> versionType == RemoteVersion.Type.OLD; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/util/i18n/MinecraftWiki.java b/HMCL/src/main/java/org/jackhuang/hmcl/util/i18n/MinecraftWiki.java index 54ea8493d..a93219c61 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/util/i18n/MinecraftWiki.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/util/i18n/MinecraftWiki.java @@ -18,6 +18,7 @@ package org.jackhuang.hmcl.util.i18n; import org.jackhuang.hmcl.download.game.GameRemoteVersion; +import org.jackhuang.hmcl.util.StringUtils; import org.jackhuang.hmcl.util.i18n.translator.Translator_lzh; import org.jackhuang.hmcl.util.versioning.GameVersionNumber; @@ -79,6 +80,8 @@ public final class MinecraftWiki { if (SNAPSHOT_PATTERN.matcher(wikiVersion).matches()) { if (wikiVersion.equals("22w13oneblockatatime")) wikiVersion = "22w13oneBlockAtATime"; + else + wikiVersion = StringUtils.removeSuffix(wikiVersion, "_unobfuscated"); return locale.i18n("wiki.version.game.snapshot", wikiVersion) + variantSuffix; } } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.java index ea3f4155a..99e39a218 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.java @@ -128,6 +128,7 @@ public class RemoteVersion implements Comparable { RELEASE, SNAPSHOT, OLD, - PENDING + PENDING, + UNOBFUSCATED, } } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameRemoteVersion.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameRemoteVersion.java index e56e694c2..43ef82d58 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameRemoteVersion.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameRemoteVersion.java @@ -73,6 +73,7 @@ public final class GameRemoteVersion extends RemoteVersion { case SNAPSHOT -> Type.SNAPSHOT; case UNKNOWN -> Type.UNCATEGORIZED; case PENDING -> Type.PENDING; + case UNOBFUSCATED -> Type.UNOBFUSCATED; default -> Type.OLD; }; } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/ReleaseType.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/ReleaseType.java index aa88ca4bd..9d299f1f5 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/ReleaseType.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/ReleaseType.java @@ -28,6 +28,7 @@ public enum ReleaseType { OLD_BETA("old-beta"), OLD_ALPHA("old-alpha"), PENDING("pending"), + UNOBFUSCATED("unobfuscated"), UNKNOWN("unknown"); private final String id; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/GameVersionNumber.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/GameVersionNumber.java index 7700445cd..40f4f8193 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/GameVersionNumber.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/GameVersionNumber.java @@ -100,7 +100,7 @@ public abstract sealed class GameVersionNumber implements Comparable