Skip to content

Commit b5025a0

Browse files
committed
update
1 parent 86529c6 commit b5025a0

20 files changed

Lines changed: 115 additions & 271 deletions

HMCL/src/main/java/org/jackhuang/hmcl/game/LocalizedRemoteModRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public SearchResult search(DownloadProvider downloadProvider, String gameVersion
7474
}
7575

7676
RemoteMod remoteMod = iterator.next();
77-
ModTranslations.Mod chineseTranslation = ModTranslations.getTranslationsByRepositoryType(getType()).getModByCurseForgeId(remoteMod.getSlug());
77+
ModTranslations.Mod chineseTranslation = ModTranslations.getTranslationsByRepositoryType(getType()).getModByCurseForgeId(remoteMod.slug());
7878
if (chineseTranslation != null && !StringUtils.isBlank(chineseTranslation.getName()) && StringUtils.containsChinese(chineseTranslation.getName())) {
7979
searchResultArray[chineseIndex++] = remoteMod;
8080
} else {
@@ -86,7 +86,7 @@ public SearchResult search(DownloadProvider downloadProvider, String gameVersion
8686

8787
StringUtils.LevCalculator levCalculator = new StringUtils.LevCalculator();
8888
return new SearchResult(Stream.concat(Arrays.stream(searchResultArray, 0, chineseIndex).map(remoteMod -> {
89-
ModTranslations.Mod chineseRemoteMod = ModTranslations.getTranslationsByRepositoryType(getType()).getModByCurseForgeId(remoteMod.getSlug());
89+
ModTranslations.Mod chineseRemoteMod = ModTranslations.getTranslationsByRepositoryType(getType()).getModByCurseForgeId(remoteMod.slug());
9090
if (chineseRemoteMod == null || StringUtils.isBlank(chineseRemoteMod.getName()) || !StringUtils.containsChinese(chineseRemoteMod.getName())) {
9191
return Pair.pair(remoteMod, Integer.MAX_VALUE);
9292
}

HMCL/src/main/java/org/jackhuang/hmcl/ui/download/DownloadPage.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ public static void download(DownloadProvider downloadProvider, Profile profile,
156156
Path dest = runDirectory.resolve(subdirectoryName).resolve(result);
157157

158158
Controllers.taskDialog(Task.composeAsync(() -> {
159-
var task = new FileDownloadTask(downloadProvider.injectURLWithCandidates(file.getFile().getUrl()), dest);
160-
task.setName(file.getName());
159+
var task = new FileDownloadTask(downloadProvider.injectURLWithCandidates(file.file().url()), dest);
160+
task.setName(file.name());
161161
return task;
162162
}).whenComplete(Schedulers.javafx(), exception -> {
163163
if (exception != null) {
@@ -171,7 +171,7 @@ public static void download(DownloadProvider downloadProvider, Profile profile,
171171
}
172172
}), i18n("message.downloading"), TaskCancellationAction.NORMAL);
173173
handler.resolve();
174-
}, file.getFile().getFilename(), new Validator(i18n("install.new_game.malformed"), FileUtils::isNameValidForJar), new Validator(i18n("profile.already_exists"), (it) -> !finalExistingFiles.contains(it)));
174+
}, file.file().filename(), new Validator(i18n("install.new_game.malformed"), FileUtils::isNameValidForJar), new Validator(i18n("profile.already_exists"), (it) -> !finalExistingFiles.contains(it)));
175175

176176
}
177177

HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadListPage.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -575,19 +575,19 @@ protected void updateItem(RemoteMod item, boolean empty) {
575575
if (empty || item == null) {
576576
setGraphic(null);
577577
} else {
578-
ModTranslations.Mod mod = ModTranslations.getTranslationsByRepositoryType(getSkinnable().repository.getType()).getModByCurseForgeId(item.getSlug());
579-
content.setTitle(mod != null && I18n.isUseChinese() ? mod.getDisplayName() : item.getTitle());
580-
String description = item.getDescription();
578+
ModTranslations.Mod mod = ModTranslations.getTranslationsByRepositoryType(getSkinnable().repository.getType()).getModByCurseForgeId(item.slug());
579+
content.setTitle(mod != null && I18n.isUseChinese() ? mod.getDisplayName() : item.title());
580+
String description = item.description();
581581
if (description != null) {
582582
description = description.replaceAll("\\R", " ");
583583
}
584584
content.setSubtitle(description);
585585
content.getTags().clear();
586-
for (String category : item.getCategories()) {
586+
for (String category : item.categories()) {
587587
if (getSkinnable().shouldDisplayCategory(category))
588588
content.addTag(getSkinnable().getLocalizedCategory(category));
589589
}
590-
iconLoader.load(imageContainer.imageProperty(), item.getIconUrl());
590+
iconLoader.load(imageContainer.imageProperty(), item.iconUrl());
591591
setGraphic(wrapper);
592592
}
593593
}

HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadPage.java

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -81,20 +81,20 @@ public DownloadPage(DownloadListPage page, RemoteMod addon, Profile.ProfileVersi
8181
this.repository = page.repository;
8282
this.addon = addon;
8383
this.translations = ModTranslations.getTranslationsByRepositoryType(repository.getType());
84-
this.mod = translations.getModByCurseForgeId(addon.getSlug());
84+
this.mod = translations.getModByCurseForgeId(addon.slug());
8585
this.version = version;
8686
this.callback = callback;
8787
loadModVersions();
8888

89-
this.state.set(State.fromTitle(addon.getTitle()));
89+
this.state.set(State.fromTitle(addon.title()));
9090
}
9191

9292
private void loadModVersions() {
9393
setLoading(true);
9494
setFailed(false);
9595

9696
Task.supplyAsync(() -> {
97-
Stream<RemoteMod.Version> versions = addon.getData().loadVersions(repository, page.getDownloadProvider());
97+
Stream<RemoteMod.Version> versions = addon.data().loadVersions(repository, page.getDownloadProvider());
9898
return sortVersions(versions);
9999
}).whenComplete(Schedulers.javafx(), (result, exception) -> {
100100
if (exception == null) {
@@ -113,14 +113,14 @@ private SimpleMultimap<String, RemoteMod.Version, List<RemoteMod.Version>> sortV
113113
SimpleMultimap<String, RemoteMod.Version, List<RemoteMod.Version>> classifiedVersions
114114
= new SimpleMultimap<>(HashMap::new, ArrayList::new);
115115
versions.forEach(version -> {
116-
for (String gameVersion : version.getGameVersions()) {
116+
for (String gameVersion : version.gameVersions()) {
117117
classifiedVersions.put(gameVersion, version);
118118
}
119119
});
120120

121121
for (String gameVersion : classifiedVersions.keys()) {
122122
List<RemoteMod.Version> versionList = classifiedVersions.get(gameVersion);
123-
versionList.sort(Comparator.comparing(RemoteMod.Version::getDatePublished).reversed());
123+
versionList.sort(Comparator.comparing(RemoteMod.Version::datePublished).reversed());
124124
}
125125
return classifiedVersions;
126126
}
@@ -166,21 +166,21 @@ public void download(RemoteMod mod, RemoteMod.Version file) {
166166
}
167167

168168
public void saveAs(RemoteMod mod, RemoteMod.Version file) {
169-
String extension = StringUtils.substringAfterLast(file.getFile().getFilename(), '.');
169+
String extension = StringUtils.substringAfterLast(file.file().filename(), '.');
170170

171171
FileChooser fileChooser = new FileChooser();
172172
fileChooser.setTitle(i18n("button.save_as"));
173173
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(i18n("file"), "*." + extension));
174-
fileChooser.setInitialFileName(file.getFile().getFilename());
174+
fileChooser.setInitialFileName(file.file().filename());
175175
Path dest = FileUtils.toPath(fileChooser.showSaveDialog(Controllers.getStage()));
176176
if (dest == null) {
177177
return;
178178
}
179179

180180
Controllers.taskDialog(
181181
Task.composeAsync(() -> {
182-
var task = new FileDownloadTask(file.getFile().getUrl(), dest, file.getFile().getIntegrityCheck());
183-
task.setName(file.getName());
182+
var task = new FileDownloadTask(file.file().url(), dest, file.file().getIntegrityCheck());
183+
task.setName(file.name());
184184
return task;
185185
}),
186186
i18n("message.downloading"),
@@ -213,18 +213,18 @@ protected ModDownloadPageSkin(DownloadPage control) {
213213
descriptionPane.getStyleClass().add("card-non-transparent");
214214
{
215215
var imageContainer = new ImageContainer(40);
216-
if (StringUtils.isNotBlank(getSkinnable().addon.getIconUrl())) {
217-
imageContainer.imageProperty().bind(FXUtils.newRemoteImage(getSkinnable().addon.getIconUrl(), 80, 80, true, true));
216+
if (StringUtils.isNotBlank(getSkinnable().addon.iconUrl())) {
217+
imageContainer.imageProperty().bind(FXUtils.newRemoteImage(getSkinnable().addon.iconUrl(), 80, 80, true, true));
218218
}
219219
descriptionPane.getChildren().add(imageContainer);
220220

221221
TwoLineListItem content = new TwoLineListItem();
222222
HBox.setHgrow(content, Priority.ALWAYS);
223-
ModTranslations.Mod mod = getSkinnable().translations.getModByCurseForgeId(getSkinnable().addon.getSlug());
224-
content.setTitle(mod != null && I18n.isUseChinese() ? mod.getDisplayName() : getSkinnable().addon.getTitle());
225-
content.setSubtitle(getSkinnable().addon.getDescription());
223+
ModTranslations.Mod mod = getSkinnable().translations.getModByCurseForgeId(getSkinnable().addon.slug());
224+
content.setTitle(mod != null && I18n.isUseChinese() ? mod.getDisplayName() : getSkinnable().addon.title());
225+
content.setSubtitle(getSkinnable().addon.description());
226226
content.getSubtitleLabel().setWrapText(true);
227-
getSkinnable().addon.getCategories().stream()
227+
getSkinnable().addon.categories().stream()
228228
.filter(category -> getSkinnable().page.shouldDisplayCategory(category))
229229
.map(category -> getSkinnable().page.getLocalizedCategory(category))
230230
.forEach(content::addTag);
@@ -239,7 +239,7 @@ protected ModDownloadPageSkin(DownloadPage control) {
239239
}
240240

241241
JFXHyperlink openUrlButton = new JFXHyperlink(control.page.getLocalizedOfficialPage());
242-
openUrlButton.setExternalLink(getSkinnable().addon.getPageUrl());
242+
openUrlButton.setExternalLink(getSkinnable().addon.pageUrl());
243243
descriptionPane.getChildren().add(openUrlButton);
244244
openUrlButton.setMinWidth(Region.USE_PREF_SIZE);
245245
}
@@ -282,7 +282,7 @@ protected ModDownloadPageSkin(DownloadPage control) {
282282

283283
resolve:
284284
for (RemoteMod.Version modVersion : modVersions) {
285-
for (ModLoaderType loader : modVersion.getLoaders()) {
285+
for (ModLoaderType loader : modVersion.loaders()) {
286286
if (targetLoaders.contains(loader)) {
287287
list.getContent().addAll(
288288
ComponentList.createComponentListTitle(i18n("mods.download.recommend", gameVersion)),
@@ -381,15 +381,15 @@ private static final class DependencyModItem extends LineButton {
381381
setNode(IDX_LEADING, pane);
382382

383383
if (addon != RemoteMod.BROKEN) {
384-
ModTranslations.Mod mod = ModTranslations.getTranslationsByRepositoryType(page.repository.getType()).getModByCurseForgeId(addon.getSlug());
385-
content.setTitle(mod != null && I18n.isUseChinese() ? mod.getDisplayName() : addon.getTitle());
386-
content.setSubtitle(addon.getDescription());
387-
for (String category : addon.getCategories()) {
384+
ModTranslations.Mod mod = ModTranslations.getTranslationsByRepositoryType(page.repository.getType()).getModByCurseForgeId(addon.slug());
385+
content.setTitle(mod != null && I18n.isUseChinese() ? mod.getDisplayName() : addon.title());
386+
content.setSubtitle(addon.description());
387+
for (String category : addon.categories()) {
388388
if (page.shouldDisplayCategory(category))
389389
content.addTag(page.getLocalizedCategory(category));
390390
}
391-
if (StringUtils.isNotBlank(addon.getIconUrl())) {
392-
imageView.imageProperty().bind(FXUtils.newRemoteImage(addon.getIconUrl(), 80, 80, true, true));
391+
if (StringUtils.isNotBlank(addon.iconUrl())) {
392+
imageView.imageProperty().bind(FXUtils.newRemoteImage(addon.iconUrl(), 80, 80, true, true));
393393
}
394394
} else {
395395
content.setTitle(i18n("mods.broken_dependency.title"));
@@ -415,10 +415,10 @@ private static final class ModItem extends StackPane {
415415
StackPane graphicPane = new StackPane();
416416
TwoLineListItem content = new TwoLineListItem();
417417
HBox.setHgrow(content, Priority.ALWAYS);
418-
content.setTitle(dataItem.getName());
419-
content.setSubtitle(I18n.formatDateTime(dataItem.getDatePublished()));
418+
content.setTitle(dataItem.name());
419+
content.setSubtitle(I18n.formatDateTime(dataItem.datePublished()));
420420

421-
switch (dataItem.getVersionType()) {
421+
switch (dataItem.versionType()) {
422422
case Alpha:
423423
content.addTag(i18n("mods.channel.alpha"));
424424
graphicPane.getChildren().setAll(SVG.ALPHA_CIRCLE.createIcon(24));
@@ -433,7 +433,7 @@ private static final class ModItem extends StackPane {
433433
break;
434434
}
435435

436-
for (ModLoaderType modLoaderType : dataItem.getLoaders()) {
436+
for (ModLoaderType modLoaderType : dataItem.loaders()) {
437437
switch (modLoaderType) {
438438
case FORGE:
439439
content.addTag(i18n("install.installer.forge"));
@@ -482,7 +482,7 @@ public ModVersion(RemoteMod mod, RemoteMod.Version version, DownloadPage selfPag
482482
case SHADER_PACK -> "shaderpack.download.title";
483483
default -> "mods.download.title";
484484
};
485-
this.setHeading(new HBox(new Label(i18n(title, version.getName()))));
485+
this.setHeading(new HBox(new Label(i18n(title, version.name()))));
486486

487487
VBox box = new VBox(8);
488488
box.setPadding(new Insets(8));
@@ -549,8 +549,8 @@ private void loadDependencies(RemoteMod.Version version, DownloadPage selfPage,
549549
Task.composeAsync(() -> {
550550
// TODO: Massive tasks may cause OOM.
551551
EnumMap<RemoteMod.DependencyType, List<Node>> dependencies = new EnumMap<>(RemoteMod.DependencyType.class);
552-
List<Task<?>> queue = new ArrayList<>(version.getDependencies().size());
553-
for (RemoteMod.Dependency dependency : version.getDependencies()) {
552+
List<Task<?>> queue = new ArrayList<>(version.dependencies().size());
553+
for (RemoteMod.Dependency dependency : version.dependencies()) {
554554
if (dependency.getType() == RemoteMod.DependencyType.INCOMPATIBLE || dependency.getType() == RemoteMod.DependencyType.BROKEN) {
555555
continue;
556556
}

HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModCheckUpdatesTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public ModCheckUpdatesTask(DownloadProvider downloadProvider, String gameVersion
5050
continue;
5151
}
5252

53-
if (candidate == null || candidate.getCandidate().getDatePublished().isBefore(update.getCandidate().getDatePublished())) {
53+
if (candidate == null || candidate.getCandidate().datePublished().isBefore(update.getCandidate().datePublished())) {
5454
candidate = update;
5555
}
5656
}

HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -480,9 +480,9 @@ final class ModInfoDialog extends JFXDialogLayout {
480480
Task.runAsync(() -> {
481481
Optional<RemoteMod.Version> versionOptional = repository.getRemoteVersionByLocalFile(modInfo.getModInfo(), modInfo.getModInfo().getFile());
482482
if (versionOptional.isPresent()) {
483-
RemoteMod remoteMod = repository.getModById(DownloadProviders.getDownloadProvider(), versionOptional.get().getModid());
483+
RemoteMod remoteMod = repository.getModById(DownloadProviders.getDownloadProvider(), versionOptional.get().modid());
484484
FXUtils.runInFX(() -> {
485-
for (ModLoaderType modLoaderType : versionOptional.get().getLoaders()) {
485+
for (ModLoaderType modLoaderType : versionOptional.get().loaders()) {
486486
String loaderName = switch (modLoaderType) {
487487
case FORGE -> i18n("install.installer.forge");
488488
case CLEANROOM -> i18n("install.installer.cleanroom");

HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModUpdatesPage.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,9 @@ public ModUpdateObject(LocalModFile.ModUpdate data) {
202202

203203
enabled.set(!data.getLocalMod().getModManager().isDisabled(data.getLocalMod().getFile()));
204204
fileName.set(data.getLocalMod().getFileName());
205-
currentVersion.set(data.getCurrentVersion().getVersion());
206-
targetVersion.set(data.getCandidate().getVersion());
207-
switch (data.getCurrentVersion().getSelf().getType()) {
205+
currentVersion.set(data.getCurrentVersion().version());
206+
targetVersion.set(data.getCandidate().version());
207+
switch (data.getCurrentVersion().self().getType()) {
208208
case CURSEFORGE:
209209
source.set(i18n("mods.curseforge"));
210210
break;
@@ -291,15 +291,15 @@ public static class ModUpdateTask extends Task<Void> {
291291
dependents.add(Task
292292
.runAsync(Schedulers.javafx(), () -> local.setOld(true))
293293
.thenComposeAsync(() -> {
294-
String fileName = remote.getFile().getFilename();
294+
String fileName = remote.file().filename();
295295
if (isDisabled)
296296
fileName += ModManager.DISABLED_EXTENSION;
297297

298298
var task = new FileDownloadTask(
299-
remote.getFile().getUrl(),
299+
remote.file().url(),
300300
modManager.getModsDirectory().resolve(fileName));
301301

302-
task.setName(remote.getName());
302+
task.setName(remote.name());
303303
return task;
304304
})
305305
.whenComplete(Schedulers.javafx(), exception -> {

0 commit comments

Comments
 (0)