Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/hbmmods/hbm-s-nuclear-tech-git/llms.txt

Use this file to discover all available pages before exploring further.

NTM’s material system is one of the mod’s most GregTech-inspired subsystems. Every significant metal, alloy, mineral, and processed substance is defined as an NTMMaterial instance inside the Mats class, linked to an OreDict DictFrame, assigned a numeric ID, and decorated with autogen flags that determine which item shapes (ingots, plates, wires, dust, etc.) are automatically created and registered. This registry underpins the crucible, the ore processing chain, recipe auto-generation in the shredder, and multi-mod OreDict interoperability — making it the connective tissue between raw ore mining and finished machine components.

The Mats Registry

Mats maintains several lookup maps populated at startup:
public static List<NTMMaterial> orderedList = new ArrayList();
public static HashMap<Integer, NTMMaterial> matById = new HashMap();
public static HashMap<String, NTMMaterial> matByName = new HashMap();
public static HashMap<ComparableStack, List<MaterialStack>> materialEntries = new HashMap();
public static HashMap<String, List<MaterialStack>> materialOreEntries = new HashMap();
Each NTMMaterial carries:
  • A numeric ID (see the ID spaces below)
  • A DictFrame — a wrapper around one or more OreDict prefix names used for item lookup
  • Colors for solid (light/dark) and molten states, used by the crucible renderer
  • A SmeltingBehaviorSMELTABLE (can be melted in crucible), ADDITIVE (used as an additive/flux), or NOT_SMELTABLE
  • An autogen set — the MaterialShapes for which item variants are auto-registered

ID Spaces

Materials are grouped into three numeric ranges to avoid collisions:
SpaceRangeUsage
Vanilla Space (_VS)0 – 29Vanilla-like materials (stone, wood, redstone, obsidian)
Alloy Space (_AS)30 – 99NTM alloys and processed composites
Extension Space (_ES)20,000+Non-metals and polymers (rubber, polymer, bakelite, PVC)
ElementalAtomic number × 100 + massPure elements (U-238 = 9238, Pu-239 = 9439)

Material Shapes (MaterialShapes)

Every NTMMaterial can autogenerate items in multiple shapes. Shapes are defined as MaterialShapes constants, each carrying a quantity (in “quantum” units, where 1 ingot = 72 quanta) and one or more OreDict prefix strings:
ShapeOreDict PrefixQuantity (quanta)Notes
NUGGETnugget, tiny81/9 of an ingot
WIREwireFine9Fine wire
BILLETbillet486/9 of an ingot
INGOTingot72Base unit
DUSTdust72Powdered form
DUSTTINYdustTiny8Small dust amount
PLATEplate72Rolled sheet
CASTPLATEplateTriple2163× ingot cast plate
WELDEDPLATEplateSextuple4326× ingot welded plate
DENSEWIREwireDense72Thick/dense wire
SHELLshell288Ammunition casing blank
PIPEntmpipe216Pipe blank
BLOCKblock648Storage block
FRAGMENTbedrockorefragment8Bedrock ore fragment
BOLTbolt9Fastener
The autogen system reads the setAutogen(...) call on each material and creates the corresponding ItemStack entries, registers OreDict names, and hooks into the shredder’s recipe generator.

Major Material Categories

These form the backbone of most machines and structures:
MaterialIDKey Uses
MAT_IRON2600Universal structural metal, auto-generates plates, pipes, dust
MAT_COPPER2900Wiring, heat transfer, base for copper alloys
MAT_ALUMINIUM1300Lightweight piping, missile fuselages, gunmetal component; from cryolite smelting or bauxite electrolysis
MAT_LEAD8200Radiation shielding, bullets, pipes; slightly toxic
MAT_TITANIUM2200High-strength plates and shells for mid-to-late game
MAT_TUNGSTEN7400Extreme heat resistance, armor-piercing ammunition
MAT_GOLD7900Wiring, nuggets, dense wire
Copper is especially noteworthy: it forms the base for Minecraft-Grade Copper (MG copper, alloyed with redstone), Gunmetal, Bismuth Bronze, Arsenic Bronze, and BSCCO — making it one of the most important materials in the entire tech tree.

Ore Processing Chain

NTM’s processing chain mirrors GregTech-style multi-step ore refinement. The general flow is:
1

Mining

Ore blocks drop raw chunks or fragments. Bedrock ore fragments (FRAGMENT) can be obtained by mining bedrock ore deposits with appropriate tools.
2

Crushing / Shredding

Ore is processed in the Ore Crusher or Industrial Shredder to produce DUST (powder). The shredder uses preferredOutputMod to decide which mod’s dust item to output when multiple mods register the same OreDict name.
3

Centrifuge (optional)

Some ores benefit from centrifuge processing to separate isotopes or extract secondary materials (e.g. separating uranium isotopes, recovering rare earth components).
4

Blast Furnace / Combination Oven

Dust is smelted in the Blast Furnace or Combination Oven to produce INGOT. Some materials require specific temperatures or fluxes — the combination oven handles multi-step thermal processes that a vanilla furnace cannot.
5

Press / Rolling Mill

Ingots are pressed into PLATE (or CASTPLATE for triple plates, WELDEDPLATE for sextuple plates) using the Metal Press. Wire is drawn with a wire drawing die.
6

Crucible (alloys)

To make alloys, melt base metals in the Crucible and combine in the correct ratio. The crucible uses the material color data (setSolidColor, setMoltenColor) for visual feedback and validates inputs against SmeltingBehavior.
Example — Aluminium:
Cryolite (“aluminium-bearing ore”) → Combination Oven → Aluminium ingot → Press → Aluminium plate Or, late-game: Bauxite ore → Crusher → Alumina dust → Electrolysis Machine → Aluminium ingot
Example — BSCCO:
Spend RBMK fuel → SILEX → Bismuth ingot → Crucible (+ strontium, calcium, copper oxide) → BSCCO ingot → Wire draw die → Dense BSCCO wire

OreDict Integration

NTM integrates with Minecraft Forge’s OreDict through OreDictManager. Each DictFrame on an NTMMaterial maps to one or more OreDict names (e.g. "ingotCopper", "dustCopper", "plateCopper"). When NTM items are registered, they are also registered into OreDict, making them interchangeable with equivalent items from other installed mods. OreDict re-registration (reRegistration map in OreDictManager) allows a single NTM item to appear under multiple OreDict keys — for example, an NTM ingot might be registered under both ingotIron and ingotWroughtIron depending on context.

preferredOutputMod Config

When multiple mods register items under the same OreDict name and a recipe needs to output one of them (e.g. the shredder auto-generating a dust output), NTM consults the preferredOutputMod config list:
# In hbm.cfg [general]
1.42_preferredOutputMod = hbm
This is a priority-ordered list of mod IDs. NTM (hbm) is the default. If you prefer another mod’s copper dust over NTM’s when both are installed, add that mod’s ID first in the list.
In modpacks with multiple tech mods (e.g. Mekanism, GregTech 6), you may want to set preferredOutputMod to the dominant mod’s ID to avoid recipe conflicts and ensure consistency in crafting chains.

Quick Reference: Material Tiers

TierRepresentative MaterialsProcessing Required
EarlyIron, Copper, Lead, Coal, StoneBasic furnace, ore crusher
MidSteel, Aluminium, Titanium, DuraluminBlast furnace, combination oven, centrifuge
Late (pre-RBMK)Tungsten, Niobium, Zirconium, Stainless Steel, SchrabidiumAdvanced smelting, electrolysis
Post-RBMKBismuth Bronze, Arsenic Bronze, BSCCO, OsmiridiumSILEX, crucible, high-performance solvent
EndgameGhiorsium, Solinium, Schraranium, plasma materialsParticle accelerator, fusion reactor

Build docs developers (and LLMs) love