mirror of
https://github.com/Jacobwasbeast/LegacyWeaveLoader.git
synced 2026-05-21 21:24:30 +00:00
Rename across entire codebase: - LegacyForge -> WeaveLoader (identifiers, namespaces, classes, DLLs) - LegacyForgeRuntime -> WeaveLoaderRuntime (C++ project) - LegacyForge.API/Core/Launcher -> WeaveLoader.API/Core/Launcher (C# projects) - [LegacyForge] -> [WeaveLoader] (log prefixes) - legacyforge -> weaveloader (config files, log files, backup suffixes) - Display name "Weave Loader" in README, CONTRIBUTING, LICENSE
42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
namespace WeaveLoader.API;
|
|
|
|
/// <summary>
|
|
/// Marks a class as a WeaveLoader mod and provides metadata.
|
|
/// The class must also implement <see cref="IMod"/>.
|
|
/// </summary>
|
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
|
|
public sealed class ModAttribute : Attribute
|
|
{
|
|
/// <summary>
|
|
/// The unique mod identifier (e.g. "examplemod"). Used as the default namespace
|
|
/// for content registered by this mod.
|
|
/// </summary>
|
|
public string Id { get; }
|
|
|
|
/// <summary>
|
|
/// Human-readable display name.
|
|
/// </summary>
|
|
public string Name { get; set; } = "";
|
|
|
|
/// <summary>
|
|
/// Semantic version string (e.g. "1.0.0").
|
|
/// </summary>
|
|
public string Version { get; set; } = "1.0.0";
|
|
|
|
/// <summary>
|
|
/// Mod author(s).
|
|
/// </summary>
|
|
public string Author { get; set; } = "";
|
|
|
|
/// <summary>
|
|
/// Short description of the mod.
|
|
/// </summary>
|
|
public string Description { get; set; } = "";
|
|
|
|
public ModAttribute(string id)
|
|
{
|
|
ArgumentException.ThrowIfNullOrWhiteSpace(id);
|
|
Id = id;
|
|
}
|
|
}
|