From 64c3209204fc3fbf051151f370b99c182a808fbf Mon Sep 17 00:00:00 2001 From: Wulian233 <1055917385@qq.com> Date: Sun, 6 Sep 2026 09:36:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E5=8C=96=20CurseMetaMod=20=E4=B8=BA?= =?UTF-8?q?=20Record?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmcl/modpack/curse/CurseMetaMod.java | 39 ++++++------------- .../mcbbs/McbbsModpackCompletionTask.java | 4 +- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/curse/CurseMetaMod.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/curse/CurseMetaMod.java index 2a146188ce5..c15ee1a6574 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/curse/CurseMetaMod.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/curse/CurseMetaMod.java @@ -26,43 +26,28 @@ * https://addons-ecs.forgesvc.net/api/v2/addon/<projectID>/file/<fileID> */ @Immutable -public final class CurseMetaMod { - @SerializedName(value = "Id", alternate = "id") - private final int id; +public record CurseMetaMod(@SerializedName(value = "Id", alternate = "id") int id, + @SerializedName(value = "FileName", alternate = "fileName") String fileName, + @SerializedName(value = "FileNameOnDisk") String fileNameOnDisk, + @SerializedName(value = "DownloadURL", alternate = "downloadUrl") String downloadURL) { - @SerializedName(value = "FileName", alternate = "fileName") - private final String fileName; - - @SerializedName(value = "FileNameOnDisk") - private final String fileNameOnDisk; - - @SerializedName(value = "DownloadURL", alternate = "downloadUrl") - private final String downloadURL; - - public CurseMetaMod() { - this(0, "", "", ""); - } - - public CurseMetaMod(int id, String fileName, String fileNameOnDisk, String downloadURL) { - this.id = id; - this.fileName = fileName; - this.fileNameOnDisk = fileNameOnDisk; - this.downloadURL = downloadURL; - } - - public int getId() { + @Override + public int id() { return id; } - public String getFileName() { + @Override + public String fileName() { return fileName; } - public String getFileNameOnDisk() { + @Override + public String fileNameOnDisk() { return fileNameOnDisk; } - public String getDownloadURL() { + @Override + public String downloadURL() { return downloadURL; } } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/mcbbs/McbbsModpackCompletionTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/mcbbs/McbbsModpackCompletionTask.java index 6a415037415..cc3f7ebada2 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/mcbbs/McbbsModpackCompletionTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/mcbbs/McbbsModpackCompletionTask.java @@ -223,7 +223,7 @@ public CompletableFuture getFuture(TaskCompletableFuture executor) { try { String result = NetworkUtils.doGet(String.format("https://cursemeta.dries007.net/%d/%d.json", file.getProjectID(), file.getFileID())); CurseMetaMod mod = JsonUtils.fromNonNullJson(result, CurseMetaMod.class); - return file.withFileName(mod.getFileNameOnDisk()).withURL(mod.getDownloadURL()); + return file.withFileName(mod.fileNameOnDisk()).withURL(mod.downloadURL()); } catch (FileNotFoundException fof) { LOG.warning("Could not query cursemeta for deleted mods: " + file.getUrl(), fof); notFound.set(true); @@ -232,7 +232,7 @@ public CompletableFuture getFuture(TaskCompletableFuture executor) { try { String result = NetworkUtils.doGet(String.format("https://addons-ecs.forgesvc.net/api/v2/addon/%d/file/%d", file.getProjectID(), file.getFileID())); CurseMetaMod mod = JsonUtils.fromNonNullJson(result, CurseMetaMod.class); - return file.withFileName(mod.getFileName()).withURL(mod.getDownloadURL()); + return file.withFileName(mod.fileName()).withURL(mod.downloadURL()); } catch (FileNotFoundException fof) { LOG.warning("Could not query forgesvc for deleted mods: " + file.getUrl(), fof); notFound.set(true);