ships.Function.getBlueprintsForModule - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki

@elite-dangerous-almanac/core / ships / getBlueprintsForModule

Function: getBlueprintsForModule()

getBlueprintsForModule(symbol): readonly string[]

Defined in: src/ships/engineering-options.ts:260

Every blueprint in a stock module's ordinary engineering menu.

Matching is case-insensitive and trims whitespace. A module this catalogue does not group yields an empty array, never null, so the result is always safe to iterate — see getEngineeringGroup for what an empty answer claims.

One recipe, two journal ids. Where a modification applies to several module families the game writes a family-specific BlueprintName, and BLUEPRINTS carries both that and the generic spelling — a life support's Lightweight is LifeSupport_LightWeight here and Misc_LightWeight in an EDSY-authored build. The family-specific id is the one listed, so compare ids with that in mind: the two are the same recipe. Sensor_LongRange and Scanner_LongRange are not such a pair — those are two different recipes rolling different stats, and the utility scanners list the Scanner_* ones where the sensor suites list the Sensor_* ones. The game writes Sensor_LongRange for both all the same, so a journal id has to be read against the module it sits on: resolveBlueprintForModule in ships/blueprint-journal is that lookup. MC_Overcharged is the third of that kind and the one most consumers will meet: the ordinary multi-cannon menu lists it rather than the Weapon_Overcharged every other weapon menu lists, because a multi-cannon's Overcharged also cuts the clip by 3–15% — and the game writes Weapon_Overcharged for both.

Anti-Guardian Zone Resistance is neither: the game writes GuardianModule_Sturdy — on Guardian weapons as well as modules — every group here lists that id, and BLUEPRINTS keys the recipe under it alone.

Parameters

symbol

string

A module symbol. Leading/trailing whitespace and case are ignored.

Returns

readonly string[]

Blueprint ids, sorted. Join to BLUEPRINTS.

Throws

If symbol is present and not a string. A nullish symbol is a miss, answered the way an unrecognised one is.

Example

import { getBlueprintsForModule } from '@elite-dangerous-almanac/core/ships/engineering-options';

getBlueprintsForModule('Hpt_BeamLaser_Fixed_Small');
// -> ['BeamLaser_ThermalPlasmaConversion', 'Weapon_Efficient', 'Weapon_LightWeight', ...]

getBlueprintsForModule('Int_LifeSupport_Size4_Class2');
// -> ['LifeSupport_LightWeight', 'LifeSupport_Reinforced', 'LifeSupport_Shielded']
⚠️ **GitHub.com Fallback** ⚠️