DotNet.Ships.Class.BlueprintCatalogue - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki

EliteDangerousAlmanac / Ships / BlueprintCatalogue

Class: BlueprintCatalogue

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintCatalogue.cs:37

The blueprint mechanics catalogue: every engineering blueprint's per-grade stat modifiers, keyed by the blueprint's Frontier symbol as a journal loadout event carries it.

Remarks

Three keys collide, because the game writes one identifier for two recipes that roll different numbers. Scanner_LongRange and Scanner_WideAngle are the utility scanners' recipes, which the game writes as Sensor_LongRange and Sensor_WideAngle, the identifiers it also writes for the sensor suites' own recipes of the same name. MC_Overcharged is the multi-cannon Overcharged, which cuts the clip where the Weapon_Overcharged every other weapon menu lists leaves it alone. BlueprintJournal settles a journal identifier against the fitted module.

Further keys are the Operations identifiers: recipes a module is sold carrying, and the Operations recipes a player rolls at an engineer. No journal spelling has been observed for those, which is a gap in the evidence rather than a claim that the game writes none.

Every recipe is keyed once. Anti-Guardian Zone Resistance is GuardianModule_Sturdy, the identifier the game writes on Guardian weapons as well as on Guardian modules.

Material shopping lists live in BlueprintCosts, so applying a recipe does not load what it costs. Data comes from EDCD coriolis-data with journal labels resolved against EDSY; see data/ships/SOURCES.md for provenance.

Properties

All

static All: IReadOnlyDictionary<string, Blueprint>

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintCatalogue.cs:42

Every blueprint, keyed by Frontier symbol. Lookups ignore case.

Methods

Find()

static Find(blueprintSymbol): Blueprint?

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintCatalogue.cs:55

Finds a blueprint by its Frontier symbol.

Parameters

blueprintSymbol

string?

The blueprint identifier, such as FSD_LongRange. Leading and trailing whitespace and case are ignored.

Returns

Blueprint?

The blueprint, or null when this catalogue stores none under that identifier. An absent identifier is not always an unknown one: the game writes the grade-5 decorative identities of festive pre-engineered variants in the same field, and those name no craftable recipe.

FindGrade()

static FindGrade(blueprintSymbol, grade): BlueprintGrade?

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintCatalogue.cs:68

Finds one complete grade of a blueprint.

Parameters

blueprintSymbol

string?

The blueprint identifier. Whitespace and case are ignored.

grade

int

The grade, from 1 through 5.

Returns

BlueprintGrade?

The grade's modifier features and converted damage distribution, or null when this catalogue holds no such blueprint or grade.

Exceptions

ArgumentOutOfRangeException

grade is outside 1 through 5.

⚠️ **GitHub.com Fallback** ⚠️