Class StoreTagDefinition
- Namespace
- McServerLauncher.Models.Store
- Assembly
- McServerLauncher.dll
One tag and the rules that give it to a project. Every rule list is optional; a tag with no rules simply never matches, which is a harmless way to stage a tag before filling it in.
public class StoreTagDefinition
- Inheritance
-
StoreTagDefinition
- Inherited Members
Properties
Browse
Whether the tag is offered as a filter chip in the browser.
[JsonPropertyName("browse")]
public bool Browse { get; set; }
Property Value
Categories
Modrinth category slugs that imply this tag.
[JsonPropertyName("categories")]
public List<string> Categories { get; set; }
Property Value
ClientSide
Matches the project's client_side: required / optional / unsupported.
[JsonPropertyName("clientSide")]
public List<string> ClientSide { get; set; }
Property Value
Color
Chip colour as "#RRGGBB". Falls back to a neutral grey when absent or invalid.
[JsonPropertyName("color")]
public string? Color { get; set; }
Property Value
Dominant
When this tag applies it goes first and leaves room for one more topic at most. A library's other categories are the author's habit more than a description of what it does, and "library" is the one thing a server owner needs to know about it.
[JsonPropertyName("dominant")]
public bool Dominant { get; set; }
Property Value
Facets
Ready-made Modrinth facet groups, e.g. ["categories:optimization"].
[JsonPropertyName("facets")]
public List<string> Facets { get; set; }
Property Value
Fallback
A tag only worth showing when nothing better matched ("utility" is on nearly everything, so next to a real topic it says nothing).
[JsonPropertyName("fallback")]
public bool Fallback { get; set; }
Property Value
Id
[JsonPropertyName("id")]
public string Id { get; set; }
Property Value
Keywords
Whole words (or phrases) looked for in the title and the short description. A trailing
accepts any ending, so optimiz covers "optimization" while map does
not cover "bitmap". See the header of store-tags.json for the scoring.
[JsonPropertyName("keywords")]
public List<string> Keywords { get; set; }
Property Value
Kind
What the tag is about: "topic" (the default) is what the project does, "install" is how it has to be installed. The interface shows only topic tags as chips, because the install side is already spelled out in words next to the compatibility, and repeating it as a chip both crowds the row and pushes a real category out of it.
[JsonPropertyName("kind")]
public string Kind { get; set; }
Property Value
Labels
Display name per language code ("es", "en", "de", "fr", "pt").
[JsonPropertyName("labels")]
public Dictionary<string, string> Labels { get; set; }
Property Value
Priority
Ordering. Lower wins when a card only has room for a few tags.
[JsonPropertyName("priority")]
public int Priority { get; set; }
Property Value
ProjectTypes
Restricts the chip to "mod" or "plugin" servers. Empty means both.
[JsonPropertyName("projectTypes")]
public List<string> ProjectTypes { get; set; }
Property Value
Query
Search text used to browse this tag when Modrinth has no facet for it.
[JsonPropertyName("query")]
public string? Query { get; set; }
Property Value
ServerSide
Matches the project's server_side.
[JsonPropertyName("serverSide")]
public List<string> ServerSide { get; set; }