35 lines
1.3 KiB
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) {
|
|
}
|
|
}
|