Inceptum/launcher/src/main/java/io/gitlab/jfronny/inceptum/launcher/model/curseforge/CurseforgeMod.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) {
}
}