Paint fuel rods into the 24-slot core and see the steam output, core heat, CO2 pressure, meltdown margin, rod burn-up and breeding. Every number is the mod's own tick loop, transcribed from TileEntityReactorZirnox — including the float rounding, so the steam figure matches the machine's readout digit for digit.
Drag to rotate. Right-drag, Shift-drag or two-finger drag to pan. Scroll or pinch to zoom. Casing hides the shell; Cutaway opens the front half.
Pick a rod, then click slots to place it. A rod's heat output is multiplied by 1 + the number of fuel rods touching it, so centre rods burn out up to five times faster than corner rods. Breeder rods (Th-232, Li-6) make no heat and need a neighbouring fuel rod to work.
Steam take-off is how fast pipes pull from the 8,000 mB steam tank; short of that, the tank fills, steaming stops and the core heats up. Water is assumed refilled (32,000 mB tank). "Burn out" sim shows the power curve of one rod load.
The mod's per-tick loop, run for up to 1,000 seconds of game time. Heat is in HBM heat units; the °C figure is the ZIRNOX GUI's own conversion.
Each tick a fuel rod decays once for itself plus once for every fuel rod in an adjacent slot. Heat output and wear both scale with that, so a centre rod in a full core runs 5× hot and 5× short-lived — the ZIRNOX's whole layout game is trading steam for rod life.
steps = 1 + adjacentFuelRods heat += steps × rod.heat life += steps // life over maxLife swaps in a depleted rodTileEntityReactorZirnox.decay
Steaming starts at 10,256 heat units — exactly 100 °C on the GUI scale — and needs CO2 in its 16,000 mB tank and room in the 8,000 mB steam tank. Full CO2 gives the full 125 mB/t per 100k heat above the threshold; NTM:Space and NTM CE made that 1.5× richer.
cycle = (int)((heat − 10256) / 100000
× min(CO2/14000, 1) × 25 × 5)
TileEntityReactorZirnox.generateSteam
Heat leaves in proportion to the pressure you built: every steaming tick the core loses heat×pressure ÷ 1,000,000. Pressure is the CO2 fill doubled plus a heat-scaled term, so a hot core with a full CO2 tank settles at a fixed equilibrium — solve that balance and you get the steady temperature without waiting for it.
pressure = CO2×2 + heat×CO2/16000 heat -= heat×pressure / 1000000 // steaming tick, else heat -= 10TileEntityReactorZirnox.updateResources · decay
Pressure over 100,000 (30 bar on the GUI) or heat over 100,000 (800 °C) nukes the site with the generic HBM blast and ZIRNOX debris. The margin shown is the closer of the two. The tank-full trap is real: back up the steam export and heat climbs ~2% of itself per tick with no upper cooling.
meltdown: pressure > 1e5 || heat > 1e5 temp °C = heat×1e-5×780 + 20 bar = pressure×1e-5×30TileEntityReactorZirnox.canMeltdown · checkNuke
Th-232 and Li-6 decay only once per adjacent fuel rod — zero neighbours, zero progress — and make no heat. At 20,000 steps Th-232 turns into a thorium fuel rod (and then joins the decay chain at 40 heat), Li-6 into a tritium rod, which is a product, not a fuel.
breeder: steps = adjacentFuelRods 20000 steps → Thorium rod / Tritium rodTileEntityReactorZirnox.decay · ItemZirnoxRod
Max life is in decay steps, heat in HE per step. A full U-235 core makes 7,820 HE/t: with a full 16,000 mB CO2 tank its equilibrium pressure is 105,867 — a meltdown. Vent the CO2 to ~12k mB and it settles at ~701 °C exporting ~82 mB/t, at 87% of the pressure limit. An LES outer ring makes 5,100 HE/t: at 12k CO2 that's ~511 °C and ~61 mB/t at a comfortable 63%.
Nat.U 250k/30 U 200k/50 Th-232 20k/breed Th 200k/40 MOX 165k/75 Pu 175k/65 U-233 150k/100 U-235 165k/85 LES 150k/150 Li-6 20k/breed ZFB-MOX 50k/35ItemZirnoxRod.EnumZirnoxType