aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.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_ShapedCrafting.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_ShapedCrafting.java')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java222
1 files changed, 222 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
new file mode 100644
index 0000000000..3ef1740189
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
@@ -0,0 +1,222 @@
+package gtPlusPlus.xmod.gregtech.loaders;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import gregtech.api.util.GT_ModHandler;
+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 RecipeGen_ShapedCrafting extends RecipeGen_Base {
+
+ public static final Set<RunnableWithInfo<Material>> mRecipeGenMap = new HashSet<>();
+
+ static {
+ MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap);
+ }
+
+ public RecipeGen_ShapedCrafting(final Material M) {
+ this.toGenerate = M;
+ mRecipeGenMap.add(this);
+ }
+
+ @Override
+ public void run() {
+ generateRecipes(this.toGenerate);
+ }
+
+ private void generateRecipes(final Material material) {
+ Logger.WARNING("Generating Shaped Crafting recipes for " + material.getLocalizedName()); // TODO
+
+ // Single Plate Shaped/Shapeless
+ if (ItemUtils.checkForInvalidItems(material.getPlate(1))
+ && ItemUtils.checkForInvalidItems(material.getIngot(1)))
+ if (material.getPlate(1) != null && material.getIngot(1) != null) GT_ModHandler.addCraftingRecipe(
+ material.getPlate(1),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "h", "B", "I", Character.valueOf('I'), material.getIngot(1), Character.valueOf('B'),
+ material.getIngot(1) });
+
+ if (ItemUtils.checkForInvalidItems(material.getPlate(1))
+ && ItemUtils.checkForInvalidItems(material.getIngot(1)))
+ GT_ModHandler.addShapelessCraftingRecipe(
+ material.getPlate(1),
+ new Object[] { gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, material.getIngot(1),
+ material.getIngot(1) });
+
+ // Double Plate Shaped/Shapeless
+ if (ItemUtils.checkForInvalidItems(material.getPlateDouble(1))
+ && ItemUtils.checkForInvalidItems(material.getPlate(1)))
+ GT_ModHandler.addCraftingRecipe(
+ material.getPlateDouble(1),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "I", "B", "h", Character.valueOf('I'), material.getPlate(1), Character.valueOf('B'),
+ material.getPlate(1) });
+
+ if (ItemUtils.checkForInvalidItems(material.getPlateDouble(1))
+ && ItemUtils.checkForInvalidItems(material.getPlate(1)))
+ GT_ModHandler.addShapelessCraftingRecipe(
+ material.getPlateDouble(1),
+ new Object[] { gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, material.getPlate(1),
+ material.getPlate(1) });
+
+ // Ring Recipe
+ if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getRing(1))
+ && ItemUtils.checkForInvalidItems(material.getRod(1))) {
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getRing(1),
+ GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "h ", "fR", 'R', material.getRod(1) })) {
+ Logger.WARNING("GT:NH Ring Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("GT:NH Ring Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ }
+
+ // Framebox Recipe
+ if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getFrameBox(1))
+ && ItemUtils.checkForInvalidItems(material.getRod(1))) {
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getFrameBox(2),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RRR", "RwR", "RRR", 'R', material.getRod(1) })) {
+ Logger.WARNING("Framebox Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Framebox Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ }
+
+ // Shaped Recipe - Bolts
+ if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getBolt(1))
+ && ItemUtils.checkForInvalidItems(material.getRod(1))) {
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getBolt(2),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "s ", " R", 'R', material.getRod(1) })) {
+ Logger.WARNING("Bolt Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Bolt Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ }
+
+ // Shaped Recipe - Fine Wire
+ if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getFoil(1))
+ && ItemUtils.checkForInvalidItems(material.getFineWire(1))) {
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getFineWire(1),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "Fx", 'F', material.getFoil(1) })) {
+ Logger.WARNING("Fine Wire Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Fine Wire Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ }
+
+ // Shaped Recipe - Foil
+ if (ItemUtils.checkForInvalidItems(material.getFoil(1))
+ && ItemUtils.checkForInvalidItems(material.getPlate(1))) {
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getFoil(2),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "hP", 'P', material.getPlate(1) })) {
+ Logger.WARNING("Foil Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Foil Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ }
+
+ // Shaped Recipe - Ingot to Rod
+ if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getIngot(1)))
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getRod(1),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "f ", " I", 'I', material.getIngot(1) })) {
+ Logger.WARNING("Rod Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Rod Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+
+ // Shaped Recipe - Long Rod to two smalls
+ if (ItemUtils.checkForInvalidItems(material.getRod(1))
+ && ItemUtils.checkForInvalidItems(material.getLongRod(1)))
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getRod(2),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "s", "L", 'L', material.getLongRod(1) })) {
+ Logger.WARNING("Rod Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Rod Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+
+ // Two small to long rod
+ if (ItemUtils.checkForInvalidItems(material.getLongRod(1))
+ && ItemUtils.checkForInvalidItems(material.getRod(1)))
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getLongRod(1),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RhR", 'R', material.getRod(1) })) {
+ Logger.WARNING("Long Rod Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Long Rod Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+
+ // Rotor Recipe
+ if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getRotor(1))
+ && ItemUtils.checkForInvalidItems(material.getRing(1))
+ && !material.isRadioactive
+ && ItemUtils.checkForInvalidItems(material.getPlate(1))
+ && ItemUtils.checkForInvalidItems(material.getScrew(1))) {
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getRotor(1),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "PhP", "SRf", "PdP", 'P', material.getPlate(1), 'S', material.getScrew(1), 'R',
+ material.getRing(1), })) {
+ Logger.WARNING("Rotor Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Rotor Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ }
+
+ // Gear Recipe
+ if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getGear(1))
+ && ItemUtils.checkForInvalidItems(material.getPlate(1))
+ && ItemUtils.checkForInvalidItems(material.getRod(1))) {
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getGear(1),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RPR", "PwP", "RPR", 'P', material.getPlate(1), 'R', material.getRod(1), })) {
+ Logger.WARNING("Gear Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Gear Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ }
+
+ // Screws
+ if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getScrew(1))
+ && ItemUtils.checkForInvalidItems(material.getBolt(1))) {
+ if (GT_ModHandler.addCraftingRecipe(
+ material.getScrew(1),
+ gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS
+ | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "fB", "B ", 'B', material.getBolt(1), })) {
+ Logger.WARNING("Screw Recipe: " + material.getLocalizedName() + " - Success");
+ } else {
+ Logger.WARNING("Screw Recipe: " + material.getLocalizedName() + " - Failed");
+ }
+ }
+ }
+}