Skip to content

materials

github-actions[bot] edited this page Aug 25, 2026 · 2 revisions

@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).length;    // -> across every category
materialsInCategory('raw').length;              // -> 28
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).length; // -> 7, one per raw line

Enumerations

Interfaces

Type Aliases

Variables

Functions

API

Guides
astro
Classes (1)
ProceduralSystem

Properties

Accessors

Methods

Interfaces (16)
Type Aliases (3)
Variables (11)
Functions (37)
Subpath modules (3)
commodities
Interfaces (1)
Type Aliases (1)
Variables (3)
Functions (3)
equipment
Interfaces (6)
Type Aliases (8)
Variables (3)
Functions (10)
Subpath modules (2)
i18n
Interfaces (1)
Type Aliases (1)
Functions (17)
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 (85)
Subpath modules (8)

Clone this wiki locally