Table of Contents

Class ServerTypeCatalog

Namespace
McServerLauncher.Services
Assembly
McServerLauncher.dll

One row per server type: what it is called, what it takes, and whether Bedrock can reach it.

public static class ServerTypeCatalog
Inheritance
ServerTypeCatalog
Inherited Members

Remarks

This used to be six separate switch statements — badge colours in one file, the plugin/mod question in another, the Geyser config path in a third, and the list of types spelled out again as strings in two XAML files. Adding a type meant finding all of them, and missing one produced a server that looked right and behaved as something else.

Same instinct as LoaderPaths: one table, and everything reads from it.

Fields

All

The types, in the order the picker shows them.

public static readonly ServerTypeCatalog.Entry[] All

Field Value

Entry[]

Remarks

Display order only — it is deliberately not the enum order, which is a file format and cannot be rearranged. Vanilla leads because it is the default; the plugin family is grouped together and put before the mod loaders, because it is the one that takes Bedrock players.

Methods

ContentFolder(ServerType)

The content folder name, which follows directly from the family.

public static string ContentFolder(ServerType type)

Parameters

type ServerType

Returns

string

Crossplay(ServerType)

How well Bedrock players fare on this type.

public static CrossplayLevel Crossplay(ServerType type)

Parameters

type ServerType

Returns

CrossplayLevel

FamilyEmoji(ServerFamily)

The badge's emoji. Plugins get a jigsaw piece, mods a cog.

public static string FamilyEmoji(ServerFamily family)

Parameters

family ServerFamily

Returns

string

Remarks

Emoji rather than an icon font because the two badges have to be told apart at a glance and in colour-blind-safe terms — shape does that where colour alone would not.

FamilyLabel(ServerFamily)

The badge shown on the card: "Plugins", "Mods", or nothing for Vanilla.

public static string FamilyLabel(ServerFamily family)

Parameters

family ServerFamily

Returns

string

For(ServerType)

The row for a type. Never null for a value that exists in the enum.

public static ServerTypeCatalog.Entry For(ServerType type)

Parameters

type ServerType

Returns

ServerTypeCatalog.Entry

InFamily(ServerFamily)

The types of one family, in display order.

public static IEnumerable<ServerTypeCatalog.Entry> InFamily(ServerFamily family)

Parameters

family ServerFamily

Returns

IEnumerable<ServerTypeCatalog.Entry>

IsPluginBased(ServerType)

Whether this type keeps its content in plugins/ rather than mods/.

public static bool IsPluginBased(ServerType type)

Parameters

type ServerType

Returns

bool