ships.Function.getEngineeringGroup - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
@elite-dangerous-almanac/core / ships / getEngineeringGroup
getEngineeringGroup(
symbol):EngineeringGroupId|null
Defined in: src/ships/engineering-options.ts:214
The group id a module is engineered as, or null when this catalogue does not group
it.
null means "this stock module has no ordinary engineering menu". For nearly every
ungrouped module that is the same as "has no engineering route". A few instead keep a
Mercenary upgrade route: the Enzyme Missile Rack, fixed Mining Laser and Abrasion
Blaster, size-5 and size-6 cargo racks, and size-5 class-2 Module Reinforcement Package
have no stock menu, while their qualifying Mercenary articles take grades 2–5 of their
bespoke recipes through ships/pre-engineered. The fixed community-goal cargo racks are
final articles.
The build corpus also contains an unsupported declaration on the Mk II Plasma Shock
Accelerator, which upstream denies every blueprint.
string
A module symbol, e.g. "Hpt_BeamLaser_Fixed_Small".
Leading/trailing whitespace and case are ignored.
EngineeringGroupId | null
The group id, or null when the module is not in the catalogue.
If symbol is present and not a string. A nullish
symbol is a miss, answered the way an unrecognised one is.
import { getEngineeringGroup } from '@elite-dangerous-almanac/core/ships/engineering-options';
getEngineeringGroup('Hpt_BeamLaser_Fixed_Small'); // -> 'beamLasers'
getEngineeringGroup('Int_CargoRack_Size2_Class1'); // -> null
// Not listed — no registry gives a fuel tank a blueprint.
getEngineeringGroup('Int_FuelTank_Size3_Class3'); // -> null