59 lines
1.8 KiB
Java
59 lines
1.8 KiB
Java
|
package techreborn.init.recipes;
|
||
|
|
||
|
import net.minecraft.item.ItemStack;
|
||
|
import reborncore.api.recipe.RecipeHandler;
|
||
|
import techreborn.api.recipe.machines.IndustrialElectrolyzerRecipe;
|
||
|
import techreborn.items.DynamicCell;
|
||
|
|
||
|
import java.security.InvalidParameterException;
|
||
|
|
||
|
/**
|
||
|
* Created by Prospector
|
||
|
*/
|
||
|
public class IndustrialElectrolyzerRecipes extends RecipeMethods {
|
||
|
public static void init() {
|
||
|
register(getOre("dustBauxite", 12), 100, 128, getMaterial("aluminum", 8, Type.DUST), getMaterial("titanium", 2, Type.SMALL_DUST), getMaterial("hydrogen", 5, Type.CELL));
|
||
|
}
|
||
|
|
||
|
static void register(ItemStack input, int ticks, int euPerTick, ItemStack... outputs) {
|
||
|
ItemStack output1;
|
||
|
ItemStack output2 = null;
|
||
|
ItemStack output3 = null;
|
||
|
ItemStack output4 = null;
|
||
|
|
||
|
if (outputs.length == 3) {
|
||
|
output1 = outputs[0];
|
||
|
output2 = outputs[1];
|
||
|
output3 = outputs[2];
|
||
|
} else if (outputs.length == 2) {
|
||
|
output1 = outputs[0];
|
||
|
output2 = outputs[1];
|
||
|
} else if (outputs.length == 1) {
|
||
|
output1 = outputs[0];
|
||
|
} else if (outputs.length == 4) {
|
||
|
output1 = outputs[0];
|
||
|
output2 = outputs[1];
|
||
|
output3 = outputs[2];
|
||
|
output4 = outputs[3];
|
||
|
} else {
|
||
|
throw new InvalidParameterException("Invalid industrial electrolyzer outputs: " + outputs);
|
||
|
}
|
||
|
|
||
|
int cellCount = 0;
|
||
|
for (ItemStack stack : outputs) {
|
||
|
if (stack.getItem() instanceof DynamicCell) {
|
||
|
cellCount += stack.getCount();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
ItemStack cells = null;
|
||
|
if (cellCount > 0) {
|
||
|
if (cellCount > 64) {
|
||
|
throw new InvalidParameterException("Invalid industrial electrolyzer outputs: " + outputs + "(Recipe requires > 64 cells)");
|
||
|
}
|
||
|
cells = DynamicCell.getEmptyCell(cellCount);
|
||
|
}
|
||
|
RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe(input, cells, output1, output2, output3, output4, ticks, euPerTick));
|
||
|
}
|
||
|
}
|