ships.Function.getBlueprintsForModule - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
@elite-dangerous-almanac/core / ships / getBlueprintsForModule
getBlueprintsForModule(
symbol): readonlystring[]
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.
string
A module symbol. Leading/trailing whitespace and case are ignored.
readonly string[]
Blueprint ids, sorted. Join to BLUEPRINTS.
If symbol is present and not a string. A nullish
symbol is a miss, answered the way an unrecognised one is.
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']