Mekanism fission: the reactor won't run, won't take sodium, or drinks the whole base
Written for Mekanism 10.7.19.85, Mekanism Generators 10.7.19.85. This pack ships Mekanism 10.4.16, Mekanism Generators 10.4.16. Some steps may no longer match. Changelog: Mekanism 10.4.16, Mekanism Generators 10.4.16
On this page
Applies to Mekanism and Mekanism Generators 10.7.19.85, Minecraft 1.21.1, NeoForge 21.1.251, as shipped in All the Mods 10 8.2.
On an older pack: the reactor's own code is unchanged between 10.7.17 and 10.7.19, so how the multiblock forms, what refuses to activate and how burning works hold for All the Mods 10 5.0 through 8.1 too, which shipped 10.7.17. Two things on this page were not checked that far back:
The coolant and pump sections rest on Mekanism's core code, which was not compared between those versions.
Every number below came from the 8.2 zip. On an older pack, read your own
config/Mekanism/generators.tomlandconfig/Mekanism/general.tomlbefore you size anything. If your pack still runs Mekanism's default of 1,000,000 heat per millibucket of fuel, a water loop sized from this page is four times too small, and this page's own warning says where that ends.
Three of the numbers on this page are the pack's, not Mekanism's, so a generic wiki answer will be wrong for All the Mods 10. See The numbers this pack changes.
The short answer
Three different complaints send players here. They have different causes, so start by deciding which one you have.
The reactor refuses to turn on. Either the multiblock has not formed, or the reactor is force-disabled after damage. Nothing else can refuse. Go to The reactor will not activate.
It says it is active and nothing happens. No steam, no waste, no heat. That is a different fault, and it is usually the burn rate sitting at its default of 0.1 mB/t, or no Fissile Fuel in the tank. Go to It is active and nothing is happening.
It refuses liquid sodium, or it drinks more water than the base can make. Go to Coolant: sodium refused or Coolant: water demand.
A few terms first:
Multiblock: a structure of several blocks that the game checks and then treats as one machine. Until it forms, there is no reactor and no GUI.
Frame: the outer shell of the reactor.
Fuel assembly: in this reactor, one X/Z column of Fission Fuel Assembly blocks, with a Control Rod Assembly directly on top of the highest one.
Burn rate: how many millibuckets of Fissile Fuel the reactor consumes per tick. You set a ceiling for it in the GUI.
The numbers this pack changes
All the Mods 10 8.2 changes three values from Mekanism's defaults, and each one changes the answer a player gets:
Heat per millibucket of fissile fuel is 250,000, a quarter of Mekanism's 1,000,000 (
config/Mekanism/generators.toml,energyPerFissionFuel). So cooling a given burn rate costs a quarter of what the Mekanism wiki's numbers say.Condenser rate is 128,000 mB/t per condenser, double Mekanism's 64,000 (
config/Mekanism/generators.toml).The upgrade multiplier is 16, up from Mekanism's 10 (
config/Mekanism/general.toml). That is what a speed-upgraded Electric Pump reaches in this pack, and the pump arithmetic below uses it.
Everything else in the reactor's config section is Mekanism's default, including a default burn rate of 0.1 mB/t and meltdowns enabled.
These files come from the 8.2 zip and are what a fresh world runs. A server owner can override them for one world by putting their own copy in serverconfig/, and no pack file can show that, so check your own config if the numbers here do not match your game.
The reactor will not activate
Only two things can refuse: an unformed multiblock, or a reactor that is force-disabled after taking damage. There is no fuel check and no coolant check on activation.
This section is about Mekanism Generators 10.7.19.85, as shipped in All the Mods 10 8.2. The reactor's own code is unchanged between 10.7.17 and 10.7.19, so how the multiblock forms and what refuses to activate hold for All the Mods 10 5.0 through 8.1 as well, which shipped 10.7.17.
1. Is the multiblock formed?
If it has not formed, there is no GUI and nothing to press.
Right-click any Fission Reactor Casing while it is unformed. The game prints the reason in chat. That one message is the fastest diagnosis on this page. Match it below.
Frame problems:
Couldn't create frame, invalid block at %1$s.The frame may only be Fission Reactor Casing, Fission Reactor Port and Fission Reactor Logic Adapter. Anything else in the shell gives this message, with the position of the offending block.
Inner problems:
Inner structure contains an illegal block (%2$s) located at %1$s.The inside may only be air, Fission Fuel Assembly or Control Rod Assembly. The message names the block and where it is.
Fuel assembly problems. All six, word for word:
Couldn't form, no fuel assembly structures present.
Couldn't form, missing control rod for fuel assembly at %1$s.
Couldn't form, found extra Control Rod Assembly at %1$s.
Couldn't form, invalid Fission Fuel Assembly placement at %1$s.
Couldn't form, improper placement for Control Rod Assembly at %1$s.
Couldn't form, missing fuel assembly for control rod at %1$s.What the rules behind them are:
Assemblies are grouped by X/Z column. Every Fission Fuel Assembly in one column counts as one assembly.
Each column needs exactly one Control Rod Assembly, directly above the top block of the column.
A column may not have a gap in it.
A Control Rod Assembly with no column under it, or a second one over the same column, is rejected.
Size: the reactor is a cuboid, from 3x3x3 up to 18x18x18. A reactor 3 blocks high has only one inner layer, and one layer cannot hold a fuel assembly plus the control rod above it, so in practice 4 is the lowest useful height.
Sources: Mekanism Generators 10.7.19.85 FissionReactorValidator (getCasingType, validateInner, postcheck), FuelAssembly.validate, CuboidStructureValidator, TileEntityMultiblock.onRightClick; message text from mekanismgenerators/lang/en_us.json.
2. Is the Activate button greyed out?
In the reactor GUI the two buttons are Activate and SCRAM.
Activate is greyed out in one case only: the reactor is force-disabled. Hover it and you get, word for word:
Reactor must reach safe damage and temperature levels before it can be reactivated.This is not a fault in your build. The reactor took damage and latched off. It recovers on its own once damage is back under 100 and temperature is under 1,200 K.
One thing to know before you rely on that: force-disabling only happens when meltdowns are turned off. In All the Mods 10 8.2 meltdowns are enabled, so a reactor that overheats melts down rather than latching off. If you are on this pack and the button is greyed out, your config differs from the pack's shipped one.
3. The button works, but the reactor turns itself back off
Look at any Fission Reactor Logic Adapter in the frame. Its GUI shows the line:
Redstone mode: ActivationThe mod describes that mode as:
Activate the reactor when powered, and deactivate when unpoweredSo an unpowered adapter in Activation turns the reactor off, and it applies that every time its redstone signal changes, not every tick. A reactor you switched on by hand can be switched off again by the next redstone edge, which is why it can look like it stops at random.
If you have an adapter in Activation, either give it the redstone state you want or take it out of the frame while you test.
If the reactor forms and activates and still does nothing, go to It is active and nothing is happening.
Sources: Mekanism Generators 10.7.19.85 GuiFissionReactor.updateButtons, FissionReactorMultiblockData.setActive, handleDamage (MIN_DAMAGE_TEMPERATURE = 1200), PacketGeneratorsGuiInteract, TileEntityFissionReactorLogicAdapter.onPowerChange; button, redstone mode and mode description text from mekanismgenerators/lang/en_us.json; meltdown setting from All the Mods 10 8.2 config/Mekanism/generators.toml.
It is active and nothing is happening
An empty reactor will go active and do nothing. Activation checks no fuel and no coolant, so "active" is not evidence that anything is working.
Check these two first, in this order:
Set Rate Limit. The reactor starts at a burn rate of 0.1 mB/t and stays there until you raise it. A tenth of a millibucket a tick looks like a dead reactor. The field in the GUI is Set Rate Limit:, and Current Burn Rate: shows what it is actually burning.
Fissile Fuel. The fuel tank accepts the chemical Fissile Fuel (
mekanism:fissile_fuel) and nothing else. It is a chemical, not an item. A Fission Reactor Port is described by the mod as "A port which can be placed on a Fission Reactor multiblock to transfer coolant, fuel, and waste", and which tanks a port exposes depends on its mode: see which mode exposes what.
Then read the rest of the GUI:
Max Burn Rate: %1$s mB/t is one per Fission Fuel Assembly block, not per column, in this pack. Your rate limit is clamped to it.
Heating Rate: %1$s mB/t is how much coolant the reactor is consuming this tick.
Damage: %1$s and Boil Efficiency: %1$s tell you whether the coolant is keeping up.
What a running reactor does: it consumes Fissile Fuel, produces Nuclear Waste, and turns water into steam or Sodium into Superheated Sodium. Which of those a port will carry depends on the port's mode.
If the burn rate is up, there is fuel in the tank and it still does nothing, the coolant side is next: the reactor refuses liquid sodium and how much coolant a burn rate needs.
Sources: Mekanism Generators 10.7.19.85 FissionReactorMultiblockData (constructor, burnFuel, setRateLimit), GeneratorsConfig defaultBurnRate, burnPerAssembly; GUI labels from mekanismgenerators/lang/en_us.json.
Coolant: the reactor refuses liquid sodium
There are three separate causes, and the last one traps people who started on water.
This section is about Mekanism 10.7.19.85, as shipped in All the Mods 10 8.2, and its version span is narrower than the rest of this page. It rests on Mekanism's core code, which was not compared between 10.7.17 and 10.7.19, and its citations do not carry back past Mekanism 10.7.11, where coolants moved to data maps.
1. Sodium has to arrive as a chemical, not as a fluid
The reactor's coolant slot is one tank with two sides: a fluid side and a chemical side.
The fluid side accepts water and nothing else. That is the
#minecraft:waterfluid tag, literally.The chemical side accepts a cooled coolant. In this pack that is exactly one chemical: Sodium.
Mekanism registers liquid sodium as a fluid as well as a chemical. So sodium sitting in a fluid tank or a Mechanical Pipe (any tier) is a legal thing to have, and the reactor will never take it. Move it as the chemical, in a Pressurized Tube (any tier) and a Chemical Tank (any tier).
There is no block named exactly "Pressurized Tube", "Chemical Tank" or "Mechanical Pipe". Each exists as Basic, Advanced, Elite and Ultimate (the Chemical Tank also has a Creative version), and every tier's name contains the phrase, so a JEI search for it finds them all.
2. The port mode decides what it will take
A Fission Reactor Port has three modes, and each one exposes different tanks:
input only: the water or coolant tank, and the fuel tank. This is the only mode that takes anything in.
output waste: Nuclear Waste comes out here.
output coolant: steam or Superheated Sodium comes out here.
A port left on an output mode accepts nothing, silently.
Shift-right-click the port to cycle its mode. The order is input only, output waste, output coolant.
The chat shows the new mode, word for word:
Valve mode changed to: input only.Ports are input only when you first place them, so a port that takes nothing may have been cycled by hand.
3. Water already in the tank locks sodium out
The two sides of the coolant tank lock each other out. A fluid can only go in while the chemical side is empty, and a chemical can only go in while the fluid side is empty. Nothing empties the loser for you.
So a reactor that has ever been given water refuses sodium until that water is gone. The only way water leaves is by being boiled, which needs the reactor hot. If you are switching a working water reactor over to sodium, plan for that: run it until the water side is empty before you pipe sodium in.
Sources: Mekanism 10.7.19.85 MergedTank (FluidTankWrapper.canInsert, ChemicalTankWrapper.canInsert), MekanismFluids.SODIUM and SUPERHEATED_SODIUM, BoilerMultiblockData.IS_COOLED_COOLANT, the data map data/mekanism/data_maps/mekanism/chemical/chemical_attribute_cooled_coolant.json; Mekanism Generators 10.7.19.85 FissionReactorMultiblockData (constructor, tank lists), TileEntityFissionReactorPort, AttributeStateFissionPortMode. These citations do not carry back past Mekanism 10.7.11, where coolants moved to data maps.
How much coolant a burn rate needs
In All the Mods 10 8.2, a reactor needs 5,000 mB of water per tick for every 1 mB/t of burn rate. So a burn rate of 8 mB/t needs 40,000 mB/t of water, sustained. That is roughly 760 unupgraded Electric Pumps. The complaint is arithmetic, not a bug.
On any other pack, read your own config/Mekanism/generators.toml and config/Mekanism/general.toml before you size anything, and if your world has its own copy in serverconfig/, read that one instead: that is the copy the world runs. Every number in this section came from the 8.2 zip. If your pack still runs Mekanism's default of 1,000,000 heat per millibucket of fuel, a water loop sized from this page is four times too small, and this page's own warning says where that ends.
With sodium it is 50,000 mB/t per 1 mB/t of burn, ten times the volume of water for the same heat. Sodium is a closed loop, so that volume circulates rather than being consumed.
Steam out equals water in, 1 mB for 1 mB.
Why pumps cannot do it
A Mekanism Electric Pump moves 1,000 mB every 19 ticks, about 52.6 mB/t, with auto-output capped at 256 mB/t. Speed upgrades cut the tick count, and All the Mods 10 raises the upgrade multiplier to 16 (Mekanism's default is 10), so a pump with 8 speed upgrades reaches the one-tick floor at about 1,000 mB/t.
21 unupgraded pumps give about 1,100 mB/t. That is 2.8% of what an 8 mB/t burn needs.
Even 40 fully upgraded pumps only reach about 40,000 mB/t, and that is one reactor at 8 mB/t.
What the design expects: a closed loop
Feed the reactor's steam into an Industrial Turbine. That is the name of the multiblock, shown at the top of its GUI. There is no block called that: a turbine is built from Turbine Casing, Turbine Rotor, Turbine Valve and Turbine Vent blocks, and this page does not cover how to build one.
Build the turbine with condensers. Each condenser turns steam back into water at up to 128,000 mB/t in this pack, and pushes the water out.
Pipe that water back into a Fission Reactor Port in input only mode.
Leave the pumps to cover leakage.
One condenser covers more than a 25 mB/t burn needs in this pack. The loop, not the pump count, is the answer.
Two things that turn "large" into "unmeetable"
Fuel rods cannot touch. Boil efficiency is the reactor's fuel surface area divided by its assembly count, against a target of 4.0. An isolated single column has an efficiency of 1. Two columns pressed together drop to about 75%, because each touching face removes surface area. The pack's own ponder says the same thing: fuel rods cannot touch.
Low efficiency does not reduce the coolant the reactor needs. It means the reactor has to sit hotter to move the same heat, and above 1,200 K it starts taking damage.
Nothing throttles the burn when coolant runs short. The burning code never looks at the coolant tank. If the coolant cannot keep up:
The heat stays in the casing and the temperature climbs.
Past 1,200 K, damage accrues every tick.
At 100% damage, with meltdowns enabled, there is a small chance every tick of a meltdown with an 8 block explosion radius.
In All the Mods 10 8.2 meltdowns are enabled. Raise the burn rate only when the coolant supply can carry the heat, and watch Heating Rate, Boil Efficiency and Damage in the GUI while you do it.
Sources: Mekanism Generators 10.7.19.85 FissionReactorMultiblockData (handleCoolant, handleDamage, getBoilEfficiency, postcheck), createMeltdown, TurbineMultiblockData; Mekanism 10.7.19.85 HeatUtils (getSteamEnergyEfficiency, getWaterThermalEnthalpy), TileEntityElectricPump; All the Mods 10 8.2 config/Mekanism/generators.toml (energyPerFissionFuel, condenserRate, meltdown settings), config/Mekanism/general.toml (maxEnergyPerSteam, upgrade multiplier).