I guess my issue is not understanding why he used 2 for single as a base rather then 4 when they say one uranium cell produces 4 on its own.
I know this reply is a few months late, but look at the formula for [Triangular Numbers](https://en.wikipedia.org/wiki/Triangular_Numbers). The formula is:
0.5 * (n * (n+1)
So, if 4 is the base, then the amount for single uranium is likewise:
4 * (0.5 * (n * (n+1)))
Since 4 * 0.5 is 2, that's why you see 2 in the code.
-----
Speaking of code, I noticed that placing a single Heat Vent increases causes the tool to say "10 iron" for the costs, but from what I can tell, it only costs 8.5 iron, and always has only cost 8.5 iron. You can see a recipe for it [here](http://crafting-guide.com/brow…strial_craft_2/heat_vent/), or by using JEI in the game. I looked in the code to see how it is calculated, and I just see that it is hardcoded to 10:
public static final MaterialsList MATERIALS = new MaterialsList(
10, java.util.ResourceBundle.getBundle("Ic2ExpReactorPlanner/Bundle").getString("IRON"),
1, java.util.ResourceBundle.getBundle("Ic2ExpReactorPlanner/Bundle").getString("TIN"),
16.0 / 3, "Copper");
As far as I count, you need 1.5 iron for the iron bars, 4 iron for the plates, and 3 iron for the electric motor, making a total of 8.5.
Since all the other types of heat vents use the basic heat vent in their material calculations, and since every commonly used reactor contains heat vents of some type, the iron calculations in the official list of reactor designs are wrong on every single reactor listed. Am I just misunderstanding something about the crafting here?
I also noticed that the heat exchanger code for transfer() looks extremely buggy. Your notes say that you adapted the code from IC2 code, so then I went and checked it, and wow, it matches. I find that to be a bit, um, unsettling. Is there a way that we can file bugs against the IC2 code?
Likewise, your code for adjustCurrentHeat() returns a negative value in cases where the component overflows and in cases where it underflows. I checked IC2 decompiled code and saw the same thing. Since you are trying to mimic what we see in the game, you did the right thing, but wow, that is really interesting. I'm wondering if it is possible to abuse these bugs and make a reactor that performs far better than it should.