---
name: set-item-materials
description: Reference for Set's item materials and the grades F to S they decide. Use when listing or downloading the 31 wearable and 23 tool materials with their weights and grades, reading the schema of a material row or of the material object on an item, explaining how a grade is assigned, or finding the rarest materials such as godhair.
license: Free to use when obtained from set.world, commercially too (the API, what it returns, the skills and downloaded models). The source code of Set is © Jimmy Lee under CC BY-NC 4.0 and its commercial use needs a paid waiver.
metadata:
  version: "0.8.9"
  title: Materials
---

# Materials

The material is the third word of an item's name and the only thing that decides its grade: cotton is always Grade F, godhair always Grade S. Quality, prefix and suffix make an item rarer, never a higher grade. This skill owns the grades.

```sh
curl 'https://set.world/api/tables/material-wearables?format=csv'   # 31 materials for the 11 worn slots
curl 'https://set.world/api/tables/material-tools?format=csv'       # 23 materials for tool and offhand
curl https://set.world/api/rarity/tiers                             # the seven grade definitions and the grading rule
```

## Schema

Each table is a `TableResponse` ([Item properties](https://set.world/skills/item-properties)) whose rows add `tier`, `grade` and `materialRank`. One of the 23 tool rows:

```json
{ "index": 10, "name": "steel", "weight": 35600, "probability": 0.06333189828470179, "rollFrom": 430998, "rollTo": 466597, "tier": 4, "grade": "C", "materialRank": 9 }
```

On an item, the same facts arrive as:

```ts
type Grade = 'F' | 'E' | 'D' | 'C' | 'B' | 'A' | 'S';
type Material = { name: string; materialRank: number; tier: number; tierGrade: Grade; tierName: string };
```

```json
{ "name": "steel", "materialRank": 9, "tier": 4, "tierGrade": "C", "tierName": "Grade C" }
```

`item.material` is that object, `item.props[2].name` the word, and `item.tier`, `item.tierGrade`, `item.tierName` and `item.materialRank` repeat it at the top level.

## Which table an item uses

`tool` and `offhand` items take their material from `material-tools` (table 3); every other slot from `material-wearables` (table 2).

## The grades

| Grade | Tier | Share of rolls | Wearable materials | Tool materials |
| :---: | :---: | ---: | --- | --- |
| F | 1 | 19.36% | cotton, wool, wooden | wooden, bone |
| E | 2 | 17.55% | bone, stone, copper | stone, copper |
| D | 3 | 21.49% | brass, bronze, linen, iron | brass, bronze, iron |
| C | 4 | 30.48% | leather, chitin, obsidian, cupro, steel, silk, silver, cashmere, orichalcum | obsidian, steel, silver, orichalcum, titanium |
| B | 5 | 6.36% | titanium, gold, platinum | gold, platinum, crystal |
| A | 6 | 3.29% | crystal, mythril, iridium, velvet | mythril, iridium |
| S | 7 | 1.47% | diamond, adamantite, meteoric, wyrmweave, godhair | diamond, topaz, emerald, sapphire, ruby, adamantite |

Grade S is about 1 roll in 68. A grade attaches per table, so one material can grade differently: bone is E as a wearable and F as a tool; titanium is B as a wearable and C as a tool; crystal is A as a wearable and B as a tool.

## How a grade is assigned (`material-grades-3`)

Sort a table's materials by weight, most common first; equal weights share a grade.

- **F, E, D, C** cover the common bulk by cumulative share of the table's weight: up to 22%, 39%, 63% and 90%.
- **B, A, S** grade the rare tail (the last 10%) by each material's weight against the table's average material weight: at least 2/5 is B, from 1/5 to 2/5 is A, under 1/5 is S.

Grades come from the weights, not a hand-written list, so a table edit re-grades it.

## Rank inside a grade

`materialRank` orders a table's materials by scarcity, 1 the most common, up to 31 (wearables) or 23 (tools). It is not a grade: every Grade S material is equally Grade S. The rarest of each table:

- **Godhair** (wearable, weight 300, rank 31): 1 in 2,775 wearable material rolls, 1 in 4,327 item rolls.
- **Adamantite** (tool, weight 20, rank 23): 1 in 28,106 tool material rolls, 1 in 78,392 item rolls.

## What a grade is worth, and what a material does

In the API a material gives a grade, a rank and one theme channel. The grade then sets everything of value, each owned by one skill:

| A grade sets | Owner |
| --- | --- |
| The orb value, the guarantee price and the salvage value | [Crafting an item](https://set.world/skills/crafting-an-item) |
| The advisory power budget | [Calculations](https://set.world/skills/calculations) |
| The optional stat bonus | [Slots](https://set.world/skills/equipment-slots) |
| Weight, protection and hit power in Set's own game | [Derived stats](https://set.world/skills/anima-derived-stats) |
| The look on a 3D model | [Item models](https://set.world/skills/anima-item-models) |

A hypothetical way to give materials meaning in your own game:

```ts
type MaterialRule = { material: string; kind: 'wearable' | 'tool'; grade: Grade; armor?: number; damage?: number; weight: number };
// { material: 'steel', kind: 'tool', grade: 'C', damage: 1.2, weight: 1 }
```

The derivation and the exact shares: [Algorithms](https://set.world/skills/algorithms), §2.
