Table of Contents

Class ModuleManifest

Namespace
Shard.Modding.SDK.Module
Assembly
Shard.Modding.SDK.dll

A module's identity and dependency declaration - the C# analogue of the Java PluginManifest. Declared in code on each module's Module class.

Dependency references may be a fully-qualified "Group:Name" or a bare "Name" (resolved within the loaded set by name).

public sealed record ModuleManifest : IEquatable<ModuleManifest>
Inheritance
ModuleManifest
Implements
Inherited Members

Properties

Dependencies

Hard dependencies, must be present (else load fails) and load before this module.

public IReadOnlyList<string> Dependencies { get; init; }

Property Value

IReadOnlyList<string>

Group

Grouping namespace, combined with Name to form the identifier.

public string Group { get; init; }

Property Value

string

Id

Fully-qualified identifier, "Group:Name".

public string Id { get; }

Property Value

string

LoadBefore

Ordering hint, modules listed here load after this one (if present).

public IReadOnlyList<string> LoadBefore { get; init; }

Property Value

IReadOnlyList<string>

Name

Module name, unique within its group (e.g. "NPC", "BlockPhysics").

public required string Name { get; init; }

Property Value

string

OptionalDependencies

Soft dependencies, load before this module only if present; never required.

public IReadOnlyList<string> OptionalDependencies { get; init; }

Property Value

IReadOnlyList<string>

Version

public Version Version { get; init; }

Property Value

Version

Methods

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.