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

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

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

Parameters

symbol

string

A module symbol, e.g. "Hpt_BeamLaser_Fixed_Small". Leading/trailing whitespace and case are ignored.

Returns

EngineeringGroupId | null

The group id, or null when the module is not in the catalogue.

Throws

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

Example

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
⚠️ **GitHub.com Fallback** ⚠️