Skip to content

materials

github-actions[bot] edited this page Sep 9, 2026 · 1 revision

@elite-dangerous-almanac/core / materials

materials

Elite Dangerous materials — the ship-side engineering materials (raw, manufactured and encoded, each with a grade and in-game line) and the on-foot Odyssey micro resources (component, consumable, data and item, each a plain symbol/name registry record).

Every lookup searches the whole registry by default — import the function and call it:

import {
  getMaterialByName,
  materialsByGrade,
  materialsInCategory,
  getMicroResourceBySymbol,
  MaterialGrade,
} from '@elite-dangerous-almanac/core/materials';

getMaterialByName('iron')?.grade;               // -> MaterialGrade.VeryCommon
materialsByGrade(MaterialGrade.Rare)[0]?.name; // -> 'Yttrium'
materialsInCategory('raw')[0]?.name;           // -> 'Carbon'
getMicroResourceBySymbol('graphene')?.name;     // -> 'Graphene'

The by-key lookups also take an optional trailing argument to narrow the search to a subset — one category's catalogue, or an array you have filtered yourself. It must be one of the exported catalogues by reference; ALL_MATERIALS (or omitting it) is the one that answers from an index rather than a scan:

import { getMaterialByName } from '@elite-dangerous-almanac/core/materials';
import { RAW_MATERIALS } from '@elite-dangerous-almanac/core/materials/materials-raw';

getMaterialByName('imperial shielding', RAW_MATERIALS); // -> null; it is manufactured

A lookup that returns an array takes no catalogue — narrow its result, or the subset you already imported, with .filter():

import { MaterialGrade } from '@elite-dangerous-almanac/core/materials';
import { RAW_MATERIALS } from '@elite-dangerous-almanac/core/materials/materials-raw';

RAW_MATERIALS.filter((m) => m.grade === MaterialGrade.Rare).map((m) => m.name);
// -> ['Yttrium', 'Selenium', 'Antimony', 'Tellurium', 'Technetium', 'Polonium', 'Ruthenium']

Enumerations

Interfaces

Type Aliases

Variables

Functions

TypeScript

Guides
astro
Classes (1)
ProceduralSystem

Properties

Accessors

Methods

Interfaces (28)
Type Aliases (6)
Variables (22)
Functions (57)
Subpath modules (3)
commodities
Interfaces (1)
Type Aliases (1)
Variables (3)
Functions (3)
equipment
Interfaces (18)
Type Aliases (9)
Variables (4)
Functions (14)
Subpath modules (2)
galaxy-map
Interfaces (1)
Variables (1)
Functions (2)
i18n
Interfaces (1)
Type Aliases (1)
Functions (23)
materials
Enumerations (2)
Interfaces (2)
Type Aliases (2)
Variables (9)
Functions (9)
ships
Classes (3)
BuildMetrics

Methods

LoadoutEditError

Constructors

Properties

Methods

ShipLoadout

Accessors

Methods

Interfaces (125)
Type Aliases (44)
Variables (10)
Functions (86)
Subpath modules (8)

Clone this wiki locally