Class ContentLedger
- Namespace
- McServerLauncher.Services
- Assembly
- McServerLauncher.dll
What the app has to remember about a server's mods that the folder itself cannot say.
public sealed class ContentLedger
- Inheritance
-
ContentLedger
- Inherited Members
Remarks
Two things the jars on disk do not carry. When a mod was switched off: disabling renames
x.jar to x.jar.disabled, and a rename keeps the file's dates, so "off for two
months" is only knowable if somebody wrote down the day. Who used to need a library: once
the mod that needed it is gone, nothing on disk says it ever existed, and "only litematica used
this, and you removed it" is the explanation that makes deleting malilib a decision rather than a
gamble.
Keys are file names without .disabled, so the same mod is one entry whether it is on or
off; library keys are the library's own id, so they survive the library being updated.
Properties
DependentsByLibrary
By library id, the names of the mods that last needed it.
public Dictionary<string, List<string>> DependentsByLibrary { get; set; }
Property Value
DisabledFirstSeen
The disabled jars whose date is only when the app first saw them, not when they were turned off.
public HashSet<string> DisabledFirstSeen { get; set; }
Property Value
Remarks
Jars already off before this existed, or turned off by hand outside the app. Their real date is earlier, which is why the panel says "at least since".
DisabledSinceUtc
When each disabled jar was switched off, by file name without .disabled.
public Dictionary<string, DateTime> DisabledSinceUtc { get; set; }
Property Value
DismissedUtc
When the user said "not now" to a suggestion, by suggestion key.
public Dictionary<string, DateTime> DismissedUtc { get; set; }
Property Value
Version
The file format, in case it ever has to change.
public int Version { get; set; }