public static SourceProductMapping registerSolid(String oreDictName, String reactantName, int reactantAmount) {
if(!_reactants.containsKey(reactantName)) {
throw new IllegalArgumentException("Unknown reactantName " + reactantName);
}
OreDictToReactantMapping mapping = new OreDictToReactantMapping(oreDictName, reactantName, reactantAmount);
_solidToReactant.put(mapping.getSource(), mapping);
SourceProductMapping reverseMapping = mapping.getReverse();
mapReactant(reverseMapping.getSource(), reverseMapping, _reactantToSolid);
return mapping;
}