DotNet.Ships.Class.ModuleCatalogue - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
EliteDangerousAlmanac / Ships / ModuleCatalogue
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:25
The outfitting registry — every fittable module, split by Frontier's four categories, with the lookups that turn a journal item string into a record.
Every lookup searches All by default. A journal item string does not say which category it belongs to, so a caller needs no category to find one, and a symbol is unique across all four.
The four category catalogues are for listing a category — an outfitting screen's hardpoint tab. They make poor narrowing arguments: no symbol and no display name is shared across categories, so passing one to a lookup can only make it miss.
staticAll:IReadOnlyList<OutfittingModule>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:63
Every outfitting module: core, then internal, then hardpoint, then utility, each in Frontier's registry order.
staticCore:IReadOnlyList<OutfittingModule>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:48
Every core internal module — the eight mounts every hull must fill — in Frontier's registry order. The armour variants here are the one ship-specific module.
staticHardpoint:IReadOnlyList<OutfittingModule>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:54
Every hardpoint weapon and tool, in Frontier's registry order.
staticInternal:IReadOnlyList<OutfittingModule>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:51
Every optional internal module, in Frontier's registry order.
staticUtility:IReadOnlyList<OutfittingModule>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:57
Every utility-mount fitting, in Frontier's registry order.
staticBulkheadsForShip(ship,modules?):IReadOnlyList<OutfittingModule>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:115
Every bulkhead a hull can be fitted with, in catalogue order.
string?
The hull's display name as the registry spells it, such as Anaconda. Leading and trailing whitespace and case are ignored; matching is otherwise exact.
IReadOnlyList<OutfittingModule>? = null
The subset to search. Bulkheads live in the core catalogue, so narrowing to any other category answers an empty list.
IReadOnlyList<OutfittingModule>
The hull's bulkheads — five variants, or six on the Caspian Explorer — or an empty list when none are carried for that hull.
Bulkheads are the only hull-specific module; everything else fits by slot size, so this does not answer "what else can this hull carry" — that is the hull's slot layout.
staticFindByName(name,modules?):IReadOnlyList<OutfittingModule>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:93
Every module with one display name, in catalogue order.
string?
The display name as the registry spells it, such as Pulse Laser. Leading and trailing whitespace and case are ignored; matching is otherwise exact.
IReadOnlyList<OutfittingModule>? = null
The subset to search. Omit it to search every module.
IReadOnlyList<OutfittingModule>
The matches, in catalogue order.
A display name is shared across sizes, ratings and, for armour, hulls, so this answers a list. Use the symbol as the key when you want exactly one module.
staticFindBySymbol(symbol,modules?):OutfittingModule?
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:75
Finds a module by its internal symbol.
string?
The internal identifier, such as Hpt_PulseLaser_Fixed_Small. Leading and trailing whitespace and case are ignored, so the journal's lower-cased form resolves too.
IReadOnlyList<OutfittingModule>? = null
The subset to search. Omit it to search every module, which is also the only indexed path.
The module, or null when no module has that symbol.
staticInCategory(category):IReadOnlyList<OutfittingModule>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:123
Every module in one outfitting category, in registry order.
The category to list.
IReadOnlyList<OutfittingModule>
The category's own catalogue.