diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/addon/meta/QuiltModMetadata.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/addon/meta/QuiltModMetadata.java index 02e31ed7269..878a1255c43 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/addon/meta/QuiltModMetadata.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/addon/meta/QuiltModMetadata.java @@ -35,31 +35,8 @@ @Immutable public final class QuiltModMetadata { - private static final class QuiltLoader { - private static final class Metadata { - private final String name; - private final String description; - private final JsonObject contributors; - private final String icon; - private final JsonObject contact; - - public Metadata(String name, String description, JsonObject contributors, String icon, JsonObject contact) { - this.name = name; - this.description = description; - this.contributors = contributors; - this.icon = icon; - this.contact = contact; - } - } - - private final String id; - private final String version; - private final Metadata metadata; - - public QuiltLoader(String id, String version, Metadata metadata) { - this.id = id; - this.version = version; - this.metadata = metadata; + private record QuiltLoader(String id, String version, Metadata metadata) { + private record Metadata(String name, String description, JsonObject contributors, String icon, JsonObject contact) { } } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/fabric/FabricInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/fabric/FabricInstallTask.java index b21586201ac..fe5598f3c8d 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/fabric/FabricInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/fabric/FabricInstallTask.java @@ -129,89 +129,14 @@ private Version getPatch(FabricInfo fabricInfo, String gameVersion, String loade } @JsonSerializable - public static class FabricInfo { - private final LoaderInfo loader; - private final IntermediaryInfo intermediary; - private final JsonObject launcherMeta; - - public FabricInfo(LoaderInfo loader, IntermediaryInfo intermediary, JsonObject launcherMeta) { - this.loader = loader; - this.intermediary = intermediary; - this.launcherMeta = launcherMeta; - } - - public LoaderInfo getLoader() { - return loader; - } - - public IntermediaryInfo getIntermediary() { - return intermediary; - } - - public JsonObject getLauncherMeta() { - return launcherMeta; - } + public record FabricInfo(LoaderInfo loader, IntermediaryInfo intermediary, JsonObject launcherMeta) { } @JsonSerializable - public static class LoaderInfo { - private final String separator; - private final int build; - private final String maven; - private final String version; - private final boolean stable; - - public LoaderInfo(String separator, int build, String maven, String version, boolean stable) { - this.separator = separator; - this.build = build; - this.maven = maven; - this.version = version; - this.stable = stable; - } - - public String getSeparator() { - return separator; - } - - public int getBuild() { - return build; - } - - public String getMaven() { - return maven; - } - - public String getVersion() { - return version; - } - - public boolean isStable() { - return stable; - } + public record LoaderInfo(String separator, int build, String maven, String version, boolean stable) { } @JsonSerializable - public static class IntermediaryInfo { - private final String maven; - private final String version; - private final boolean stable; - - public IntermediaryInfo(String maven, String version, boolean stable) { - this.maven = maven; - this.version = version; - this.stable = stable; - } - - public String getMaven() { - return maven; - } - - public String getVersion() { - return version; - } - - public boolean isStable() { - return stable; - } + public record IntermediaryInfo(String maven, String version, boolean stable) { } } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/fabric/FabricVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/fabric/FabricVersionList.java index b71a7fb300a..262b36ba12f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/fabric/FabricVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/fabric/FabricVersionList.java @@ -68,39 +68,17 @@ public Task refreshAsync() { private List getGameVersions(String metaUrl) throws IOException { String json = NetworkUtils.doGet(downloadProvider.injectURLWithCandidates(metaUrl)); return JsonUtils.GSON.fromJson(json, listTypeOf(GameVersion.class)) - .stream().map(GameVersion::getVersion).collect(Collectors.toList()); + .stream().map(GameVersion::version).collect(Collectors.toList()); } private static String getLaunchMetaUrl(String gameVersion, String loaderVersion) { return String.format("https://meta.fabricmc.net/v2/versions/loader/%s/%s", gameVersion, loaderVersion); } - private static class GameVersion { - private final String version; - private final String maven; - private final boolean stable; + private record GameVersion(String version, @Nullable String maven, boolean stable) { - public GameVersion() { - this("", null, false); - } - - public GameVersion(String version, String maven, boolean stable) { - this.version = version; - this.maven = maven; - this.stable = stable; - } - - public String getVersion() { - return version; - } - - @Nullable - public String getMaven() { - return maven; - } - - public boolean isStable() { - return stable; + GameVersion { + if (version == null) version = ""; } } } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricInstallTask.java index f2abb9c33a6..5a0fbfc5599 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricInstallTask.java @@ -80,7 +80,7 @@ public void execute() { } private Version getPatch(FabricInstallTask.FabricInfo legacyFabricInfo, String gameVersion, String loaderVersion) { - JsonObject launcherMeta = legacyFabricInfo.getLauncherMeta(); + JsonObject launcherMeta = legacyFabricInfo.launcherMeta(); Arguments arguments = new Arguments(); String mainClass; @@ -107,8 +107,8 @@ private Version getPatch(FabricInstallTask.FabricInfo legacyFabricInfo, String g } // libraries.add(new Library(Artifact.fromDescriptor(legacyFabricInfo.hashed.maven), getMavenRepositoryByGroup(legacyFabricInfo.hashed.maven), null)); - libraries.add(new Library(Artifact.fromDescriptor(legacyFabricInfo.getIntermediary().getMaven()), getMavenRepositoryByGroup(legacyFabricInfo.getIntermediary().getMaven()), null)); - libraries.add(new Library(Artifact.fromDescriptor(legacyFabricInfo.getLoader().getMaven()), getMavenRepositoryByGroup(legacyFabricInfo.getLoader().getMaven()), null)); + libraries.add(new Library(Artifact.fromDescriptor(legacyFabricInfo.intermediary().maven()), getMavenRepositoryByGroup(legacyFabricInfo.intermediary().maven()), null)); + libraries.add(new Library(Artifact.fromDescriptor(legacyFabricInfo.loader().maven()), getMavenRepositoryByGroup(legacyFabricInfo.loader().maven()), null)); return new Version(LibraryAnalyzer.LibraryType.LEGACY_FABRIC.getPatchId(), loaderVersion, Version.PRIORITY_LOADER, arguments, mainClass, libraries); } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java index 4236cb0640c..134c43b2ad8 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java @@ -71,7 +71,7 @@ public Task refreshAsync() { private List getGameVersions(String metaUrl) throws IOException { String json = NetworkUtils.doGet(downloadProvider.injectURLWithCandidates(metaUrl)); return JsonUtils.GSON.fromJson(json, listTypeOf(GameVersion.class)) - .stream().map(GameVersion::getVersion).collect(Collectors.toList()); + .stream().map(GameVersion::version).collect(Collectors.toList()); } private static String normalizeVersion(String version) { @@ -84,32 +84,10 @@ private static String getLaunchMetaUrl(String gameVersion, String loaderVersion) return String.format("https://meta.legacyfabric.net/v2/versions/loader/%s/%s", gameVersion, loaderVersion); } - private static class GameVersion { - private final String version; - private final String maven; - private final boolean stable; + private record GameVersion(String version, @Nullable String maven, boolean stable) { - public GameVersion() { - this("", null, false); - } - - public GameVersion(String version, String maven, boolean stable) { - this.version = version; - this.maven = maven; - this.stable = stable; - } - - public String getVersion() { - return version; - } - - @Nullable - public String getMaven() { - return maven; - } - - public boolean isStable() { - return stable; + GameVersion { + if (version == null) version = ""; } } } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/quilt/QuiltInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/quilt/QuiltInstallTask.java index 01642cecf0d..f89df7631d7 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/quilt/QuiltInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/quilt/QuiltInstallTask.java @@ -137,89 +137,14 @@ private static String getMavenRepositoryByGroup(String maven) { } @JsonSerializable - public static class QuiltInfo { - private final LoaderInfo loader; - private final IntermediaryInfo hashed; - private final IntermediaryInfo intermediary; - private final JsonObject launcherMeta; - - public QuiltInfo(LoaderInfo loader, IntermediaryInfo hashed, IntermediaryInfo intermediary, JsonObject launcherMeta) { - this.loader = loader; - this.hashed = hashed; - this.intermediary = intermediary; - this.launcherMeta = launcherMeta; - } - - public LoaderInfo getLoader() { - return loader; - } - - public IntermediaryInfo getHashed() { - return hashed; - } - - public IntermediaryInfo getIntermediary() { - return intermediary; - } - - public JsonObject getLauncherMeta() { - return launcherMeta; - } + public record QuiltInfo(LoaderInfo loader, IntermediaryInfo hashed, IntermediaryInfo intermediary, JsonObject launcherMeta) { } @JsonSerializable - public static class LoaderInfo { - private final String separator; - private final int build; - private final String maven; - private final String version; - private final boolean stable; - - public LoaderInfo(String separator, int build, String maven, String version, boolean stable) { - this.separator = separator; - this.build = build; - this.maven = maven; - this.version = version; - this.stable = stable; - } - - public String getSeparator() { - return separator; - } - - public int getBuild() { - return build; - } - - public String getMaven() { - return maven; - } - - public String getVersion() { - return version; - } - - public boolean isStable() { - return stable; - } + public record LoaderInfo(String separator, int build, String maven, String version, boolean stable) { } @JsonSerializable - public static class IntermediaryInfo { - private final String maven; - private final String version; - - public IntermediaryInfo(String maven, String version) { - this.maven = maven; - this.version = version; - } - - public String getMaven() { - return maven; - } - - public String getVersion() { - return version; - } + public record IntermediaryInfo(String maven, String version) { } } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/quilt/QuiltVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/quilt/QuiltVersionList.java index c33d0acf0ab..34ec84e8c46 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/quilt/QuiltVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/quilt/QuiltVersionList.java @@ -68,39 +68,17 @@ public Task refreshAsync() { private List getGameVersions(String metaUrl) throws IOException { String json = NetworkUtils.doGet(downloadProvider.injectURLWithCandidates(metaUrl)); return JsonUtils.GSON.fromJson(json, listTypeOf(GameVersion.class)) - .stream().map(GameVersion::getVersion).collect(Collectors.toList()); + .stream().map(GameVersion::version).collect(Collectors.toList()); } private static String getLaunchMetaUrl(String gameVersion, String loaderVersion) { return String.format("https://meta.quiltmc.org/v3/versions/loader/%s/%s", gameVersion, loaderVersion); } - private static class GameVersion { - private final String version; - private final String maven; - private final boolean stable; + private record GameVersion(String version, @Nullable String maven, boolean stable) { - public GameVersion() { - this("", null, false); - } - - public GameVersion(String version, String maven, boolean stable) { - this.version = version; - this.maven = maven; - this.stable = stable; - } - - public String getVersion() { - return version; - } - - @Nullable - public String getMaven() { - return maven; - } - - public boolean isStable() { - return stable; + GameVersion { + if (version == null) version = ""; } } }