96 lines
2.9 KiB
Java
96 lines
2.9 KiB
Java
package io.gitlab.jfronny.inceptum.launcher.model.curseforge;
|
|
|
|
import io.gitlab.jfronny.gson.compile.annotations.GSerializable;
|
|
import io.gitlab.jfronny.inceptum.common.GsonPreset;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
@GSerializable(configure = GsonPreset.Api.class)
|
|
public record CurseforgeMod(
|
|
int id,
|
|
int gameId,
|
|
String name,
|
|
String slug,
|
|
Links links,
|
|
String summary, // optional
|
|
/* Possible values:
|
|
1=New
|
|
2=ChangesRequired
|
|
3=UnderSoftReview
|
|
4=Approved
|
|
5=Rejected
|
|
6=ChangesMade
|
|
7=Inactive
|
|
8=Abandoned
|
|
9=Deleted
|
|
10=UnderReview*/
|
|
int status,
|
|
long downloadCount,
|
|
boolean isFeatured,
|
|
int primaryCategoryId,
|
|
List<Category> categories,
|
|
int classId,
|
|
List<Author> authors,
|
|
Logo logo,
|
|
List<Screenshot> screenshots,
|
|
int mainFileId,
|
|
List<CurseforgeFile> latestFiles,
|
|
List<LatestFileIndex> latestFilesIndexes,
|
|
Date dateCreated,
|
|
Date dateModified,
|
|
Date dateReleased,
|
|
boolean allowModDistribution,
|
|
int gamePopularityRank,
|
|
boolean isAvailable,
|
|
int thumbsUpCount
|
|
) {
|
|
@GSerializable(configure = GsonPreset.Api.class)
|
|
public record Links(String websiteUrl, String wikiUrl, String issuesUrl, String sourcesUrl) {
|
|
}
|
|
|
|
@GSerializable(configure = GsonPreset.Api.class)
|
|
public record Category(int id,
|
|
int gameId,
|
|
String name,
|
|
String slug,
|
|
String url,
|
|
String iconUrl,
|
|
Date dateModified,
|
|
boolean isClass,
|
|
int classId,
|
|
int primaryCategoryId) {
|
|
}
|
|
|
|
@GSerializable(configure = GsonPreset.Api.class)
|
|
public record Author(int id, String name, String url) {
|
|
}
|
|
|
|
@GSerializable(configure = GsonPreset.Api.class)
|
|
public record Logo(int id,
|
|
int modId,
|
|
String title,
|
|
String description,
|
|
String thumbnailUrl,
|
|
String url) {
|
|
}
|
|
|
|
@GSerializable(configure = GsonPreset.Api.class)
|
|
public record Screenshot(int id,
|
|
int modId,
|
|
String title,
|
|
String description,
|
|
String thumbnailUrl,
|
|
String url) {
|
|
}
|
|
|
|
@GSerializable(configure = GsonPreset.Api.class)
|
|
public record LatestFileIndex(String gameVersion,
|
|
int fileId,
|
|
String filename,
|
|
int releaseType,
|
|
int gameVersionTypeId,
|
|
Integer modLoader) {
|
|
}
|
|
}
|