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

35 lines
1.3 KiB
Java

package io.gitlab.jfronny.inceptum.launcher.model.modrinth;
import io.gitlab.jfronny.gson.annotations.SerializedName;
import io.gitlab.jfronny.gson.compile.annotations.GSerializable;
import io.gitlab.jfronny.inceptum.common.GsonPreset;
import org.jetbrains.annotations.Nullable;
import java.util.List;
@GSerializable(configure = GsonPreset.Api.class)
public record ModrinthModpackManifest(
int formatVersion, // 1
String game, // "minecraft"
String versionId,
String name,
String summary,
List<File> files,
Dependencies dependencies
) {
@GSerializable(configure = GsonPreset.Api.class)
public record File(String path, ModrinthHashes hashes, @Nullable Env env, List<String> downloads, long fileSize) {
@GSerializable(configure = GsonPreset.Api.class)
public record Env(ModrinthDependencyType client, ModrinthDependencyType server) {
}
}
// All are nullable
@GSerializable(configure = GsonPreset.Api.class)
public record Dependencies(String minecraft,
String forge,
@SerializedName("fabric-loader") String fabricLoader,
@SerializedName("quilt-loader") String quiltLoader) {
}
}