Inceptum/launcher/src/main/java/io/gitlab/jfronny/inceptum/launcher/model/modrinth/ModrinthVersion.java

44 lines
1.2 KiB
Java

package io.gitlab.jfronny.inceptum.launcher.model.modrinth;
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 ModrinthVersion(
String id,
String project_id,
String author_id,
boolean featured,
String name,
String version_number,
String changelog,
String changelog_url,
Date date_published,
long downloads,
VersionType version_type,
List<File> files,
List<Dependency> dependencies,
List<String> game_versions,
List<String> loaders
) {
public enum VersionType {
alpha, beta, release
}
@GSerializable(configure = GsonPreset.Api.class)
public record File(ModrinthHashes hashes, String url, String filename, boolean primary) {
}
@GSerializable(configure = GsonPreset.Api.class)
public record Dependency(String version_id, String project_id, DependencyType dependency_type) {
public enum DependencyType {
required,
optional,
incompatible
}
}
}