Table of Contents

Class ProjectResult

Namespace
McServerLauncher.Models.Modrinth
Assembly
McServerLauncher.dll

One search hit. Modrinth returns far more than a card needs, and every extra field here is one request the details page doesn't have to make: the side (client/server), the categories, the follower count and the dates are enough to classify and describe a project on their own.

public class ProjectResult
Inheritance
ProjectResult
Inherited Members

Properties

Author

[JsonPropertyName("author")]
public string Author { get; set; }

Property Value

string

Categories

Raw category slugs. Includes the loaders (fabric, paper…), not only real categories.

[JsonPropertyName("categories")]
public List<string> Categories { get; set; }

Property Value

List<string>

ClientSide

"required", "optional", "unsupported" or "unknown".

[JsonPropertyName("client_side")]
public string? ClientSide { get; set; }

Property Value

string

DateCreated

[JsonPropertyName("date_created")]
public DateTimeOffset? DateCreated { get; set; }

Property Value

DateTimeOffset?

DateModified

[JsonPropertyName("date_modified")]
public DateTimeOffset? DateModified { get; set; }

Property Value

DateTimeOffset?

Description

[JsonPropertyName("description")]
public string Description { get; set; }

Property Value

string

DisplayCategories

Categories Modrinth itself considers worth showing (a subset of Categories).

[JsonPropertyName("display_categories")]
public List<string> DisplayCategories { get; set; }

Property Value

List<string>

Downloads

[JsonPropertyName("downloads")]
public long Downloads { get; set; }

Property Value

long

Follows

Followers. Named "follows" in search results and "followers" on the project endpoint.

[JsonPropertyName("follows")]
public int Follows { get; set; }

Property Value

int

Gallery image URLs (plain strings here; the project endpoint returns objects).

[JsonPropertyName("gallery")]
public List<string> Gallery { get; set; }

Property Value

List<string>

IconUrl

[JsonPropertyName("icon_url")]
public string? IconUrl { get; set; }

Property Value

string

License

SPDX id of the licence (the project endpoint returns an object instead).

[JsonPropertyName("license")]
public string? License { get; set; }

Property Value

string

ProjectId

[JsonPropertyName("project_id")]
public string ProjectId { get; set; }

Property Value

string

ProjectType

"mod", "plugin", "shader"… — what kind of thing this is.

[JsonPropertyName("project_type")]
public string? ProjectType { get; set; }

Property Value

string

ServerSide

"required", "optional", "unsupported" or "unknown".

[JsonPropertyName("server_side")]
public string? ServerSide { get; set; }

Property Value

string

Slug

[JsonPropertyName("slug")]
public string Slug { get; set; }

Property Value

string

Title

[JsonPropertyName("title")]
public string Title { get; set; }

Property Value

string

Versions

Minecraft versions the project supports.

[JsonPropertyName("versions")]
public List<string> Versions { get; set; }

Property Value

List<string>