aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenExtruder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenExtruder.java')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenExtruder.java159
1 files changed, 159 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenExtruder.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenExtruder.java
new file mode 100644
index 0000000000..80b9a75a14
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenExtruder.java
@@ -0,0 +1,159 @@
+package gtPlusPlus.xmod.gregtech.loaders;
+
+import static gregtech.api.recipe.RecipeMaps.extruderRecipes;
+import static gregtech.api.util.GTRecipeBuilder.TICKS;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GTValues;
+import gregtech.api.enums.ItemList;
+import gtPlusPlus.api.interfaces.RunnableWithInfo;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.MaterialGenerator;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
+public class RecipeGenExtruder extends RecipeGenBase {
+
+ public static final Set<RunnableWithInfo<Material>> mRecipeGenMap = new HashSet<>();
+
+ static {
+ MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap);
+ }
+
+ public RecipeGenExtruder(final Material M) {
+ this.toGenerate = M;
+ mRecipeGenMap.add(this);
+ }
+
+ @Override
+ public void run() {
+ generateRecipes(this.toGenerate);
+ }
+
+ private void generateRecipes(final Material material) {
+
+ final ItemStack itemIngot = material.getIngot(1);
+ final ItemStack itemPlate = material.getPlate(1);
+ final ItemStack itemGear = material.getGear(1);
+
+ final ItemStack shape_Plate = ItemList.Shape_Extruder_Plate.get(0);
+ final ItemStack shape_Ring = ItemList.Shape_Extruder_Ring.get(0);
+ final ItemStack shape_Gear = ItemList.Shape_Extruder_Gear.get(0);
+ final ItemStack shape_Rod = ItemList.Shape_Extruder_Rod.get(0);
+ final ItemStack shape_Bolt = ItemList.Shape_Extruder_Bolt.get(0);
+ final ItemStack shape_Block = ItemList.Shape_Extruder_Block.get(0);
+ final ItemStack shape_Ingot = ItemList.Shape_Extruder_Ingot.get(0);
+
+ Logger.WARNING("Generating Extruder recipes for " + material.getLocalizedName());
+
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))
+ && ItemUtils.checkForInvalidItems(material.getBlock(1))) {
+ // Ingot Recipe
+ GTValues.RA.stdBuilder()
+ .itemInputs(material.getBlock(1), shape_Ingot)
+ .itemOutputs(material.getIngot(9))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Ingot Recipe: " + material.getLocalizedName() + " - Success");
+
+ // Block Recipe
+ GTValues.RA.stdBuilder()
+ .itemInputs(material.getIngot(9), shape_Block)
+ .itemOutputs(material.getBlock(1))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Block Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
+ // Plate Recipe
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))
+ && ItemUtils.checkForInvalidItems(material.getPlate(1))) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(itemIngot, shape_Plate)
+ .itemOutputs(itemPlate)
+ .duration(10 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Plate Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
+ // Ring Recipe
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))
+ && ItemUtils.checkForInvalidItems(material.getRing(1))) {
+ if (!material.isRadioactive) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(itemIngot, shape_Ring)
+ .itemOutputs(material.getRing(4))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Ring Recipe: " + material.getLocalizedName() + " - Success");
+ }
+ }
+
+ // Gear Recipe
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getGear(1)))
+ if (!material.isRadioactive) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(material.getIngot(4), shape_Gear)
+ .itemOutputs(itemGear)
+ .duration((int) Math.max(material.getMass() * 5L, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Gear Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
+ // Rod Recipe
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))
+ && ItemUtils.checkForInvalidItems(material.getRod(1))) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(itemIngot, shape_Rod)
+ .itemOutputs(material.getRod(2))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Rod Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
+ // Bolt Recipe
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1)))
+ if (!material.isRadioactive) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(itemIngot, shape_Bolt)
+ .itemOutputs(material.getBolt(8))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Bolt Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
+ // Rotor Recipe
+ // Shape_Extruder_Rotor
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))
+ && ItemUtils.checkForInvalidItems(material.getRotor(1))) {
+
+ GTValues.RA.stdBuilder()
+ .itemInputs(material.getIngot(5), ItemList.Shape_Extruder_Rotor.get(0))
+ .itemOutputs(material.getRotor(1))
+ .duration((int) Math.max(material.getMass() * 5L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Rotor Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
+ }
+}