Extreme Reactors Reactor Planner

Simulated with the tick loop from the Extreme Reactors 1.21.1-2.4.28 jar

Paint fuel rods and coolant blocks, choose passive or active cooling, and the planner runs the mod's own ReactorLogic tick by tick until the reactor settles. You get the same RF/t, steam, temperatures and fuel burn the controller would show.

—

Casing size

Server config

Edit values from config/extremereactors/common.toml

Packs change these a lot: ATM10 and ATM10: Aeronautics are 30× apart on turbines.

Reactor

Core layout

Paint with

Top-down view of the inside. Fuel rods and coolant blocks run the full height. Control rods sit on the top casing above each rod column.

Steady state

    Assumes the reactor is kept topped up with fresh fuel, and waste is ejected automatically. Active mode assumes unlimited water in and steam pulled out as fast as it's made.

    What the code actually says

    One rod block fires per tick

    Each tick, exactly one fuel-rod block radiates, taking turns through every rod block. Its strength comes from the whole reactor's fuel, not its own share.

    raw    = totalFuel × fissionEventsPerFuelUnit
    scaled = ((raw^r) / columns)^r × columns
    ReactorLogic.radiate · FuelRodsMap.getNextIrradiationSource

    Radiation only goes sideways, 4 blocks max

    Rays leave in the 4 directions perpendicular to the rods and stop after 4 blocks. Casing, glass and ports absorb whatever reaches them and waste it: it heats nothing.

    for each of 4 sideways directions:
      step ≤ 4 blocks, stop at casing
    ReactorLogic.radiate · AbstractReactorEntity.moderateRadiation

    Blocks between rods turn radiation into heat

    Each block absorbs part of the ray, turns some of that into casing heat and softens the ray, so the next rod catches more of it. Rods catch radiation as fuel heat.

    absorbed = I × absorption × (1 − hardness)
    heat    += absorbed × heatEfficiency × 10
    hardness /= moderation
    MultiblockReactor.applyModerator

    Passive power is just casing temperature

    In passive mode, RF/t depends only on how hot the casing is and how much inside surface the reactor has.

    RF/t = 0.06 × internalArea × (T − 20)
           × powerMultipliers × tierEfficiency
    ReactorLogic.transferHeatBetweenReactorAndCoolant

    Heat only flows fuel → casing

    Heat moves from the fuel rods to the casing, never back. How fast depends on what touches each rod: casing 0.6, air 0.05, other rods 0.05, and each coolant block its own conductivity.

    if (fuelT − casingT > 0.01)
      q = ΔT × Σ neighbour conductivity
    ReactorLogic.transferHeatBetweenFuelAndReactor

    "Fertility" is hidden but cuts fuel burn

    Radiation soaked up by rods builds a hidden fertility value. The controller never shows it, but it divides your fuel burn by log₁₀(fertility) + 1.

    fuel/t = 7e-4 × raw / (log10(fertility) + 1)
             × fuelUsageMultiplier
    ReactorLogic.radiate · getFertilityModifier