package gregtech.loaders.postload.recipes; import net.minecraft.item.ItemStack; import gregtech.GT_Mod; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; public class CropProcessingRecipes implements Runnable { @Override public void run() { ItemStack tCrop; // Metals Line tCrop = ItemList.Crop_Drop_Coppon.get(1); this.addProcess(tCrop, Materials.Copper, 100, true); this.addProcess(tCrop, Materials.Tetrahedrite, 100, false); this.addProcess(tCrop, Materials.Chalcopyrite, 100, false); this.addProcess(tCrop, Materials.Malachite, 100, false); this.addProcess(tCrop, Materials.Pyrite, 100, false); this.addProcess(tCrop, Materials.Stibnite, 100, false); tCrop = ItemList.Crop_Drop_Tine.get(1); this.addProcess(tCrop, Materials.Tin, 100, true); this.addProcess(tCrop, Materials.Cassiterite, 100, false); this.addProcess(tCrop, Materials.CassiteriteSand, 100, true); tCrop = ItemList.Crop_Drop_Plumbilia.get(1); this.addProcess(tCrop, Materials.Lead, 100, true); this.addProcess(tCrop, Materials.Galena, 100, false); // tCrop = ItemList.Crop_Drop_Ferru.get(1); this.addProcess(tCrop, Materials.Iron, 100, true); this.addProcess(tCrop, Materials.Magnetite, 100, false); this.addProcess(tCrop, Materials.BrownLimonite, 100, false); this.addProcess(tCrop, Materials.YellowLimonite, 100, false); this.addProcess(tCrop, Materials.VanadiumMagnetite, 100, false); this.addProcess(tCrop, Materials.BandedIron, 100, false); this.addProcess(tCrop, Materials.Pyrite, 100, false); this.addProcess(tCrop, Materials.MeteoricIron, 100, false); tCrop = ItemList.Crop_Drop_Nickel.get(1); this.addProcess(tCrop, Materials.Nickel, 100, true); this.addProcess(tCrop, Materials.Garnierite, 100, false); this.addProcess(tCrop, Materials.Pentlandite, 100, false); this.addProcess(tCrop, Materials.Cobaltite, 100, false); this.addProcess(tCrop, Materials.Wulfenite, 100, false); this.addProcess(tCrop, Materials.Powellite, 100, false); tCrop = ItemList.Crop_Drop_Zinc.get(1); this.addProcess(tCrop, Materials.Zinc, 100, true); this.addProcess(tCrop, Materials.Sphalerite, 100, false); this.addProcess(tCrop, Materials.Sulfur, 100, false); tCrop = ItemList.Crop_Drop_Argentia.get(1); this.addProcess(tCrop, Materials.Silver, 100, true); this.addProcess(tCrop, Materials.Galena, 100, false); tCrop = ItemList.Crop_Drop_Aurelia.get(1); this.addProcess(tCrop, Materials.Gold, 100, true); this.addProcess(tCrop, Materials.Magnetite, Materials.Gold, 100, false); tCrop = ItemList.Crop_Drop_Mica.get(1); this.addProcess(tCrop, Materials.Mica, 75, true); // Rare Metals Line tCrop = ItemList.Crop_Drop_Bauxite.get(1); this.addProcess(tCrop, Materials.Aluminium, 60, true); this.addProcess(tCrop, Materials.Bauxite, 100, false); tCrop = ItemList.Crop_Drop_Manganese.get(1); this.addProcess(tCrop, Materials.Manganese, 30, true); this.addProcess(tCrop, Materials.Grossular, 100, false); this.addProcess(tCrop, Materials.Spessartine, 100, false); this.addProcess(tCrop, Materials.Pyrolusite, 100, false); this.addProcess(tCrop, Materials.Tantalite, 100, false); tCrop = ItemList.Crop_Drop_Ilmenite.get(1); this.addProcess(tCrop, Materials.Titanium, 100, true); this.addProcess(tCrop, Materials.Ilmenite, 100, false); this.addProcess(tCrop, Materials.Bauxite, 100, false); this.addProcess(tCrop, Materials.Rutile, 100, false); tCrop = ItemList.Crop_Drop_Scheelite.get(1); this.addProcess(tCrop, Materials.Scheelite, 100, true); this.addProcess(tCrop, Materials.Tungstate, 100, false); this.addProcess(tCrop, Materials.Lithium, 100, false); this.addProcess(tCrop, Materials.Tungsten, 75, false); tCrop = ItemList.Crop_Drop_Platinum.get(1); this.addProcess(tCrop, Materials.Platinum, 40, true); this.addProcess(tCrop, Materials.Cooperite, 40, false); this.addProcess(tCrop, Materials.Palladium, 40, false); this.addProcess(tCrop, Materials.Neodymium, 100, false); this.addProcess(tCrop, Materials.Bastnasite, 100, false); tCrop = ItemList.Crop_Drop_Iridium.get(1); this.addProcess(tCrop, Materials.Iridium, 20, true); tCrop = ItemList.Crop_Drop_Osmium.get(1); this.addProcess(tCrop, Materials.Osmium, 20, true); // Radioactive Line tCrop = ItemList.Crop_Drop_Pitchblende.get(1); this.addProcess(tCrop, Materials.Pitchblende, 50, true); tCrop = ItemList.Crop_Drop_Uraninite.get(1); this.addProcess(tCrop, Materials.Uraninite, 50, false); this.addProcess(tCrop, Materials.Uranium, 50, true); this.addProcess(tCrop, Materials.Pitchblende, 50, false); this.addProcess(tCrop, Materials.Uranium235, 50, false); tCrop = ItemList.Crop_Drop_Thorium.get(1); this.addProcess(tCrop, Materials.Thorium, 50, true); tCrop = ItemList.Crop_Drop_Naquadah.get(1); this.addProcess(tCrop, Materials.Naquadah, 10, true); this.addProcess(tCrop, Materials.NaquadahEnriched, 10, false); this.addProcess(tCrop, Materials.Naquadria, 10, false); // Gem Line tCrop = ItemList.Crop_Drop_BobsYerUncleRanks.get(1); this.addProcess(tCrop, Materials.Emerald, 100, true); this.addProcess(tCrop, Materials.Beryllium, 100, false); } public void addProcess(ItemStack tCrop, Materials aMaterial, int chance, boolean aMainOutput) { if (tCrop == null || aMaterial == null || GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1) == null) return; if (GT_Mod.gregtechproxy.mNerfedCrops) { GT_Values.RA.addChemicalRecipe( GT_Utility.copyAmount(9, tCrop), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.Water.getFluid(1000), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 96, 24); GT_Values.RA.addAutoclaveRecipe( GT_Utility.copyAmount(16, tCrop), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass() + 9) / 10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 10000, (int) (aMaterial.getMass() * 128), 384); } else { if (aMainOutput) GT_Values.RA.addExtractorRecipe( GT_Utility.copyAmount(9, tCrop), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1), 300, 18); } } public void addProcess(ItemStack tCrop, Materials aMaterial, int chance) { if (tCrop == null || aMaterial == null || GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1) == null) return; if (GT_Mod.gregtechproxy.mNerfedCrops) { GT_Values.RA.addChemicalRecipe( GT_Utility.copyAmount(9, tCrop), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.Water.getFluid(1000), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 96, 24); GT_Values.RA.addAutoclaveRecipe( GT_Utility.copyAmount(16, tCrop), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass() + 9) / 10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 10000, (int) (aMaterial.getMass() * 128), 384); } else { GT_Values.RA.addExtractorRecipe( GT_Utility.copyAmount(16, tCrop), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1), 300, 18); } } public void addProcess(ItemStack tCrop, Materials aMaterial, Materials aMaterialOut, int chance, boolean aMainOutput) { if (tCrop == null || aMaterial == null || GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1) == null) return; if (GT_Mod.gregtechproxy.mNerfedCrops) { GT_Values.RA.addChemicalRecipe( GT_Utility.copyAmount(9, tCrop), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.Water.getFluid(1000), aMaterialOut.mOreByProducts.isEmpty() ? null : aMaterialOut.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterialOut, 4), 96, 24); GT_Values.RA.addAutoclaveRecipe( GT_Utility.copyAmount(16, tCrop), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass() + 9) / 10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 10000, (int) (aMaterial.getMass() * 128), 384); } else { if (aMainOutput) GT_Values.RA.addExtractorRecipe( GT_Utility.copyAmount(16, tCrop), GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), 300, 18); } } public void addProcess(ItemStack tCrop, Materials aMaterial, Materials aMaterialOut, int chance) { if (tCrop == null || aMaterial == null || GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1) == null) return; if (GT_Mod.gregtechproxy.mNerfedCrops) { GT_Values.RA.addChemicalRecipe( GT_Utility.copyAmount(9, tCrop), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.Water.getFluid(1000), aMaterialOut.mOreByProducts.isEmpty() ? null : aMaterialOut.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterialOut, 4), 96, 24); GT_Values.RA.addAutoclaveRecipe( GT_Utility.copyAmount(16, tCrop), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass() + 9) / 10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 10000, (int) (aMaterial.getMass() * 128), 384); } else { GT_Values.RA.addExtractorRecipe( GT_Utility.copyAmount(16, tCrop), GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), 300, 18); } } }