Skip to content

DotNet.Ships.Class.ModuleCatalogue

github-actions[bot] edited this page Sep 20, 2026 · 11 revisions

EliteDangerousAlmanac / Ships / ModuleCatalogue

Class: 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.

Remarks

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.

Properties

All

static All: 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.

Core

static Core: 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.

Hardpoint

static Hardpoint: IReadOnlyList<OutfittingModule>

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:54

Every hardpoint weapon and tool, in Frontier's registry order.

Internal

static Internal: IReadOnlyList<OutfittingModule>

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:51

Every optional internal module, in Frontier's registry order.

Utility

static Utility: IReadOnlyList<OutfittingModule>

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:57

Every utility-mount fitting, in Frontier's registry order.

Methods

BulkheadsForShip()

static BulkheadsForShip(ship, modules?): IReadOnlyList<OutfittingModule>

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:115

Every bulkhead a hull can be fitted with, in catalogue order.

Parameters

ship

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.

modules

IReadOnlyList<OutfittingModule>? = null

The subset to search. Bulkheads live in the core catalogue, so narrowing to any other category answers an empty list.

Returns

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.

Remarks

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.

FindByName()

static FindByName(name, modules?): IReadOnlyList<OutfittingModule>

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:93

Every module with one display name, in catalogue order.

Parameters

name

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.

modules

IReadOnlyList<OutfittingModule>? = null

The subset to search. Omit it to search every module.

Returns

IReadOnlyList<OutfittingModule>

The matches, in catalogue order.

Remarks

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.

FindBySymbol()

static FindBySymbol(symbol, modules?): OutfittingModule?

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:75

Finds a module by its internal symbol.

Parameters

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.

modules

IReadOnlyList<OutfittingModule>? = null

The subset to search. Omit it to search every module, which is also the only indexed path.

Returns

OutfittingModule?

The module, or null when no module has that symbol.

InCategory()

static InCategory(category): IReadOnlyList<OutfittingModule>

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCatalogue.cs:123

Every module in one outfitting category, in registry order.

Parameters

category

ModuleCategory

The category to list.

Returns

IReadOnlyList<OutfittingModule>

The category's own catalogue.

.NET

Guides
Astronomy
Classes (16)
Records (29)
Enumerations (6)
Commodities
Classes (2)
Records (1)
Enumerations (1)
Equipment
Classes (8)
Records (19)
Enumerations (8)
GalaxyMap
Classes (1)
Records (1)
Localization
Classes (2)
Enumerations (1)
Materials
Classes (5)
Records (2)
Enumerations (4)
Ships
Classes (42)
Records (115)
Interfaces (1)
Enumerations (35)

Clone this wiki locally