aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
commit6d1b2216464d4dad449ac6fcfec476832224a55e (patch)
tree526a0c15f7056313c80e6c0386e025e9b3f61781 /src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
parentb5d35f40afa606ed1b07061dad82e0521a59c186 (diff)
downloadGT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.gz
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.bz2
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.zip
Merge addon sources
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java225
1 files changed, 225 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
new file mode 100644
index 0000000000..7eebc16af7
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
@@ -0,0 +1,225 @@
+package gtPlusPlus.xmod.gregtech.loaders;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.recipe.RecipeMaps;
+import gtPlusPlus.api.interfaces.RunnableWithInfo;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.MaterialGenerator;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
+public class RecipeGen_Plates extends RecipeGen_Base {
+
+ public static final Set<RunnableWithInfo<Material>> mRecipeGenMap = new HashSet<>();
+
+ static {
+ MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap);
+ }
+
+ public RecipeGen_Plates(final Material M) {
+ this.toGenerate = M;
+ mRecipeGenMap.add(this);
+ }
+
+ @Override
+ public void run() {
+ generateRecipes(this.toGenerate);
+ }
+
+ private void generateRecipes(final Material material) {
+
+ final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15;
+ final ItemStack ingotStackOne = material.getIngot(1);
+ final ItemStack ingotStackTwo = material.getIngot(2);
+ final ItemStack ingotStackThree = material.getIngot(3);
+ final ItemStack ingotStackNine = material.getIngot(9);
+ final ItemStack shape_Mold = ItemList.Shape_Mold_Plate.get(0);
+ final ItemStack plate_Single = material.getPlate(1);
+ final ItemStack plate_SingleTwo = material.getPlate(2);
+ final ItemStack plate_SingleNine = material.getPlate(9);
+ final ItemStack plate_Double = material.getPlateDouble(1);
+ final ItemStack plate_Dense = material.getPlateDense(1);
+ final ItemStack foil_SingleFour = material.getFoil(4);
+ final ItemStack block = material.getBlock(1);
+
+ Logger.WARNING("Generating Plate recipes for " + material.getLocalizedName());
+
+ // Forge Hammer
+ if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single))
+ if (addForgeHammerRecipe(
+ ingotStackThree,
+ plate_SingleTwo,
+ (int) Math.max(material.getMass(), 1L),
+ material.vVoltageMultiplier)) {
+ Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ // Bender
+ if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(plate_Single))
+ if (addBenderRecipe(
+ ingotStackOne,
+ plate_Single,
+ (int) Math.max(material.getMass() * 1L, 1L),
+ material.vVoltageMultiplier)) {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(foil_SingleFour))
+ if (addBenderRecipe(
+ ingotStackOne,
+ CI.getNumberedCircuit(10),
+ foil_SingleFour,
+ (int) Math.max(material.getMass() * 2L, 1L),
+ material.vVoltageMultiplier)) {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ // Alloy Smelter
+ if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single))
+ if (GT_Values.RA.addAlloySmelterRecipe(
+ ingotStackTwo,
+ shape_Mold,
+ plate_Single,
+ (int) Math.max(material.getMass() * 2L, 1L),
+ material.vVoltageMultiplier)) {
+ Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ // Cutting Machine
+ if (ItemUtils.checkForInvalidItems(block) && ItemUtils.checkForInvalidItems(plate_Single))
+ if (GT_Values.RA.addCutterRecipe(
+ block,
+ plate_SingleNine,
+ null,
+ (int) Math.max(material.getMass() * 10L, 1L),
+ material.vVoltageMultiplier)) {
+ Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+
+ // Making Double Plates
+ if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Double))
+ if (addBenderRecipe(
+ ingotStackTwo,
+ plate_Double,
+ (int) Math.max(material.getMass() * 2L, 1L),
+ material.vVoltageMultiplier)) {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+
+ if (ItemUtils.checkForInvalidItems(plate_SingleTwo) && ItemUtils.checkForInvalidItems(plate_Double))
+ if (addBenderRecipe(
+ plate_SingleTwo,
+ plate_Double,
+ (int) Math.max(material.getMass() * 2L, 1L),
+ material.vVoltageMultiplier)) {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+
+ // Bender
+ if (ItemUtils.checkForInvalidItems(material.getPlate(1)) && ItemUtils.checkForInvalidItems(material.getFoil(1)))
+ if (addBenderRecipe(
+ material.getPlate(1),
+ material.getFoil(4),
+ (int) Math.max(material.getMass(), 1L),
+ material.vVoltageMultiplier)) {
+ GregTech_API.registerCover(
+ material.getFoil(1),
+ new GT_RenderedTexture(material.getTextureSet().mTextures[70], material.getRGBA(), false),
+ null);
+ Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+
+ // Making Dense Plates
+ if (ItemUtils.checkForInvalidItems(ingotStackNine) && ItemUtils.checkForInvalidItems(plate_Dense))
+ if (addBenderRecipe(
+ ingotStackNine,
+ plate_Dense,
+ (int) Math.max(material.getMass() * 2L, 1L),
+ material.vVoltageMultiplier)) {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+
+ if (ItemUtils.checkForInvalidItems(plate_SingleNine) && ItemUtils.checkForInvalidItems(plate_Dense))
+ if (addBenderRecipe(
+ plate_SingleNine,
+ plate_Dense,
+ (int) Math.max(material.getMass() * 2L, 1L),
+ material.vVoltageMultiplier)) {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ }
+
+ public static boolean addBenderRecipe(final ItemStack aInput1, final ItemStack aOutput1, int aDuration,
+ final int aEUt) {
+ return GT_Values.RA.addBenderRecipe(aInput1, aOutput1, aDuration, aEUt);
+ }
+
+ public static boolean addBenderRecipe(final ItemStack aInput1, final ItemStack aCircuit, final ItemStack aOutput1,
+ int aDuration, final int aEUt) {
+ return GT_Values.RA.addBenderRecipe(aInput1, aCircuit, aOutput1, aDuration, aEUt);
+ }
+
+ public static boolean addExtruderRecipe(final ItemStack aInput, final ItemStack aShape, final ItemStack aOutput,
+ int aDuration, final int aEUt) {
+ if ((aInput == null) || (aShape == null) || (aOutput == null)) {
+ return false;
+ }
+ if (aDuration <= 0) {
+ return false;
+ }
+ RecipeMaps.extruderRecipes.addRecipe(
+ true,
+ new ItemStack[] { aInput, aShape },
+ new ItemStack[] { aOutput },
+ null,
+ null,
+ null,
+ aDuration,
+ aEUt,
+ 0);
+ return true;
+ }
+
+ public static boolean addForgeHammerRecipe(final ItemStack aInput1, final ItemStack aOutput1, final int aDuration,
+ final int aEUt) {
+ if ((aInput1 == null) || (aOutput1 == null)) {
+ return false;
+ }
+ RecipeMaps.hammerRecipes.addRecipe(
+ true,
+ new ItemStack[] { aInput1 },
+ new ItemStack[] { aOutput1 },
+ null,
+ null,
+ null,
+ aDuration,
+ aEUt,
+ 0);
+ return true;
+ }
+}