In the newest commit you mentioned finding a potential bug in the GT6 code and I can confirm it is indeed a small oversight.
@Gregorius The breeder and absorber rod in some cases output more heat than intended, because they don’t consider the coolant used. I think it will just be easier if I outline the small changes required for fixing this here than make a pull request, just replace MultiTileEntityReactorRodBreeder.java line 77 with:
int tDivider = 2;
if (MT.Na.mLiquid.isFluidEqual(aReactor.mTanks[0].getFluid())) tDivider *= 12;
else if (MT.Sn.mLiquid.isFluidEqual(aReactor.mTanks[0].getFluid())) tDivider *= 6;
aReactor.mEnergy += UT.Code.divup(aReactor.oNeutronCounts[aSlot], tDivider);
and MultiTileEntityReactorRodAbsorber.java line 46 with:
int tDivider = 1;
if (MT.Na.mLiquid.isFluidEqual(aReactor.mTanks[0].getFluid())) tDivider *= 6;
else if (MT.Sn.mLiquid.isFluidEqual(aReactor.mTanks[0].getFluid())) tDivider *= 3;
aReactor.mEnergy += UT.Code.divup(aReactor.oNeutronCounts[aSlot] * 2, tDivider);
Since this only means that some reactors will output less HU energy, there should be no danger of explosions to existing designs, neutron counts aren’t changed so control systems will still work the same.
The issue can also be fixed in another way, which may provide a better code structure and minimally better performance, by applying the heat modification in the reactor class rather than on the fuel rod. In MultiTileEntityReactorCore1x1.java at line 106 and in MultiTileEntityReactorCore2x2.java at line 133 this could be added:
int tDivider = 1;
if (MT.Na.mLiquid.isFluidEqual(mTanks[0].getFluid())) tDivider *= 6;
else if (MT.Sn.mLiquid.isFluidEqual(mTanks[0].getFluid())) tDivider *= 3;
mEnergy = UT.Code.divup(mEnergy - tEnergy, tDivider) + tEnergy;
and then changing MultiTileEntityReactorRodNuclear.java line 189-192 to just:
aReactor.mEnergy += aReactor.oNeutronCounts[aSlot];