Table of Contents

Namespace McServerLauncher.Models.Store

Classes

StoreItem

What the store knows about one thing it can offer, independently of where it came from.

Today everything is a Modrinth mod or plugin, and the two Modrinth shapes (a search hit and a full project) carry the same facts under slightly different names. Tagging and summarising work on this type instead of on either of them, so a shader, a resource pack or a modpack — or a second source altogether — only needs its own conversion, not its own classifier.

StoreSummaryCatalog
StoreTagCatalog

The tag catalogue, loaded from Resources/store-tags.json (and optionally overridden in the user's data folder). It is deliberately plain data: a new tag, a new keyword or a different colour is a change to that file, never to this code.

StoreTagDefinition

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.

Structs

StoreBlurb

The hand-written plain-language summaries, generated into Resources/store-summaries.json by tools/generate-store-summaries.py.

Keyed by Modrinth project id, because ids are permanent and slugs can be renamed. Each entry is a flat map so a new language is a change to the data file and the generator, not to this code: the reserved keys are slug and title, everything else is a language code.