Materials are raw and processed resources — the building blocks for crafting equipment. Players collect them through mining, dungeon loot rooms, or the shop, then use them as ingredients in crafting recipes.

Material Subtypes

SubtypeDescriptionExample
OresRaw, unprocessed minerals mined from the environmentUranium Ore, Xenite Ore
IngotsSmelted/refined versions of oresUranium Ingot, Xenite Ingot
AlloysCombined materials created from multiple ingots/oresXenite-Steel Alloy
BioOrganic materials from living or once-living sourcesBio Pulp, Alien Tissue

Material JSON files live in: <your_pack_id>/data/items/materials/<subtype>/<material_name>.json

File Structure

{
  "materials": {
    "id": "...",
    "texture": "...",
    "displayName": "...",
    "description": "...",
    "meta": {
      "storeCategory": "..."
    }
  }
}

Field Reference

FieldTypeRequiredDescription
idstringNamespaced ID. Format: pack_id:subtype_materialname. Example: stellar_forge:ore_uranium
texturestringPath to the image file, relative to the pack root. See Textures.
displayNamestringTranslation key for the material display name.
descriptionstringTranslation key for the material description text.
meta.storeCategorystringNamespaced category ID this material appears under in the shop and admin panel. Must match a category in manifest.json.

ID Naming Convention

SubtypePrefixExample
Oreore_stellar_forge:ore_uranium
Ingotingot_stellar_forge:ingot_uranium
Alloyalloy_stellar_forge:alloy_xenite_steel
Biono prefixstellar_forge:bio_pulp

Example — Ore

{
  "materials": {
    "id": "stellar_forge:ore_uranium",
    "texture": "stellar_forge/assets/textures/materials/ore/uranium.png",
    "displayName": "items.materials.stellar_forge.ores.uranium",
    "description": "items.materials.stellar_forge.ores.uranium.desc",
    "meta": {
      "storeCategory": "stellar_forge:materials"
    }
  }
}

Registers a new ore. It appears in the shop under stellar_forge:materials. Display name and description are pulled from the language file.

Example — Ingot

{
  "materials": {
    "id": "stellar_forge:ingot_uranium",
    "texture": "stellar_forge/assets/textures/materials/ingot/uranium.png",
    "displayName": "items.materials.stellar_forge.ingots.uranium",
    "description": "items.materials.stellar_forge.ingots.uranium.desc",
    "meta": {
      "storeCategory": "stellar_forge:materials"
    }
  }
}

Example — Alloy

{
  "materials": {
    "id": "stellar_forge:alloy_xenite_steel",
    "texture": "stellar_forge/assets/textures/materials/alloy/xenite_steel.png",
    "displayName": "items.materials.stellar_forge.alloys.xenite_steel",
    "description": "items.materials.stellar_forge.alloys.xenite_steel.desc",
    "meta": {
      "storeCategory": "stellar_forge:materials"
    }
  }
}

Example — Bio Material

{
  "materials": {
    "id": "stellar_forge:alien_tissue",
    "texture": "stellar_forge/assets/textures/materials/bio/alien_tissue.png",
    "displayName": "items.materials.stellar_forge.bio.alien_tissue",
    "description": "items.materials.stellar_forge.bio.alien_tissue.desc",
    "meta": {
      "storeCategory": "stellar_forge:materials"
    }
  }
}

How Materials Flow Through the Game

Ore  →  Recipe  →  Ingot  →  Recipe  →  Alloy  →  Recipe  →  Equipment

Language Keys

Each material needs two entries — a name and a description:

"items.materials.stellar_forge.ores.uranium":       "Uranium Ore",
"items.materials.stellar_forge.ores.uranium.desc":  "A radioactive ore found in deep asteroid fields.",

"items.materials.stellar_forge.ingots.uranium":      "Uranium Ingot",
"items.materials.stellar_forge.ingots.uranium.desc": "Refined uranium, ready for high-energy applications.",

"items.materials.stellar_forge.alloys.xenite_steel":      "Xenite-Steel Alloy",
"items.materials.stellar_forge.alloys.xenite_steel.desc": "A composite combining the hardness of steel with exotic xenite.",

"items.materials.stellar_forge.bio.alien_tissue":      "Alien Tissue",
"items.materials.stellar_forge.bio.alien_tissue.desc": "Organic matter harvested from extraterrestrial creatures."