change crop drop processing like bee comb processing

This commit is contained in:
Blood-Asp 2015-12-13 16:45:57 +01:00
parent 0bdf8a2e40
commit 70e652420d
3 changed files with 129 additions and 10 deletions

View file

@ -1,5 +1,9 @@
package gregtech.common.items;
import com.google.common.collect.ImmutableMap;
import forestry.api.recipes.RecipeManagers;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
import gregtech.api.items.GT_MetaGenerated_Item_X32;
@ -297,10 +301,7 @@ public class GT_MetaGenerated_Item_02
ItemList.Crop_Drop_Platinum.set(addItem(tLastID = 532, "Platina Leaf", "Source of Platinum", new Object[]{}));
ItemList.Crop_Drop_Iridium.set(addItem(tLastID = 533, "Quantaria Leaf", "Source of Iridium", new Object[]{}));
ItemList.Crop_Drop_Osmium.set(addItem(tLastID = 534, "Quantaria Leaf", "Source of Osmium", new Object[]{}));
ItemList.Crop_Drop_Naquadah.set(addItem(tLastID = 535, "Stargatium Leaf", "Source of Naquadah", new Object[]{}));
// ItemList.PlatinumGroupSludge.set(addItem(tLastID = 536, "Platinum group metals sludge", "", new Object[]{}));
// ItemList.PlatinumGroupSludgeTiny.set(addItem(tLastID = 537, "Tiny Pile Platinum group metals sludge", "", new Object[]{}));
ItemList.Crop_Drop_Naquadah.set(addItem(tLastID = 535, "Stargatium Leaf", "Source of Naquadah", new Object[]{}));
ItemList.Crop_Drop_Chilly.set(addItem(tLastID = 550, "Chilly Pepper", "It is red and hot", new Object[]{"cropChilipepper", new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false, new int[]{Potion.confusion.id, 200, 1, 40}), new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L)}));
ItemList.Crop_Drop_Lemon.set(addItem(tLastID = 551, "Lemon", "Don't make Lemonade", new Object[]{"cropLemon", new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false, new int[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L)}));
@ -347,9 +348,6 @@ public class GT_MetaGenerated_Item_02
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Plumbilia.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L));
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Argentia.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1L));
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Indigo.get(1L, new Object[0]), ItemList.Dye_Indigo.get(1L, new Object[0]));
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Ferru.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1L));
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Aurelia.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1L));
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_BobsYerUncleRanks.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Emerald, 1L));
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_MilkWart.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Milk, 1L));
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Coppon.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L));
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Tine.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1L));

View file

@ -155,13 +155,14 @@ public class ItemComb extends Item {
// // Metals Line
tComb = getStackForType(CombType.SLAG);
addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 50);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 50);
addProcess(tComb, Materials.Salt, 100);
addProcess(tComb, Materials.RockSalt, 100);
addProcess(tComb, Materials.Lepidolite, 100);
addProcess(tComb, Materials.Spodumene, 100);
addProcess(tComb, Materials.Monazite, 100);
tComb = getStackForType(CombType.COPPER);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1), 70);
addProcess(tComb, Materials.Copper, 100);
addProcess(tComb, Materials.Tetrahedrite, 100);
addProcess(tComb, Materials.Chalcopyrite, 100);
@ -169,9 +170,11 @@ public class ItemComb extends Item {
addProcess(tComb, Materials.Pyrite, 100);
addProcess(tComb, Materials.Stibnite, 100);
tComb = getStackForType(CombType.TIN);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1), 60);
addProcess(tComb, Materials.Tin, 100);
addProcess(tComb, Materials.Cassiterite, 100);
tComb = getStackForType(CombType.LEAD);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1), 45);
addProcess(tComb, Materials.Lead, 100);
addProcess(tComb, Materials.Galena, 100);
tComb = getStackForType(CombType.IRON);
@ -206,6 +209,7 @@ public class ItemComb extends Item {
addProcess(tComb, Materials.Sphalerite, 100);
addProcess(tComb, Materials.Sulfur, 100);
tComb = getStackForType(CombType.SILVER);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), 30);
addProcess(tComb, Materials.Silver, 100);
addProcess(tComb, Materials.Galena, 100);
tComb = getStackForType(CombType.GOLD);
@ -267,7 +271,7 @@ public class ItemComb extends Item {
public void addProcess(ItemStack tComb, Materials aMaterial, int chance){
if(GT_Mod.gregtechproxy.mNervedCombs){
GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), 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, 300);
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(1), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 1000, 1000, 24);
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 1000, 1000, 24);
}else{
GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f));
@ -277,7 +281,7 @@ public class ItemComb extends Item {
public void addProcess(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){
if(GT_Mod.gregtechproxy.mNervedCombs){
GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.Water.getFluid(1000), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 96, 300);
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(1), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 1), 1000, 1000, 24);
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 1), 1000, 1000, 24);
}else{
GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f));

View file

@ -7,6 +7,7 @@ import gregtech.api.enums.*;
import gregtech.api.objects.MaterialStack;
import gregtech.api.util.*;
import gregtech.common.GT_DummyWorld;
import gregtech.common.items.CombType;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
@ -1525,5 +1526,121 @@ public class GT_MachineRecipeLoader
GT_ModHandler.addAlloySmelterRecipe(tDust1, tDust2, tOutputIngot, (int) tMats[2].mAmount * 50, 16, false);
}
}
GT_Utility.removeSimpleIC2MachineRecipe(ItemList.Crop_Drop_BobsYerUncleRanks.get(1L, new Object[0]), GT_ModHandler.getExtractorRecipeList(), null);
GT_Utility.removeSimpleIC2MachineRecipe(ItemList.Crop_Drop_Ferru.get(1L, new Object[0]), GT_ModHandler.getExtractorRecipeList(), null);
GT_Utility.removeSimpleIC2MachineRecipe(ItemList.Crop_Drop_Aurelia.get(1L, new Object[0]), GT_ModHandler.getExtractorRecipeList(), null);
// GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_BobsYerUncleRanks.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Emerald, 1L));
// GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Ferru.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1L));
// GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Aurelia.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1L));
// ItemList.Crop_Drop_Bauxite.set(addItem(tLastID = 521, "Bauxia Leaf", "Source of Aluminium", new Object[]{}));
// ItemList.Crop_Drop_Ilmenite.set(addItem(tLastID = 522, "Titania Leaf", "Source of Titanium", new Object[]{}));
// ItemList.Crop_Drop_Pitchblende.set(addItem(tLastID = 523, "Reactoria Leaf", "Source of Uranium", new Object[]{}));
// ItemList.Crop_Drop_Uraninite.set(addItem(tLastID = 524, "Milk Leaf", "Source of Uranite", new Object[]{}));
// ItemList.Crop_Drop_Thorium.set(addItem(tLastID = 526, "Thunder Leaf", "Source of Thorium", new Object[]{}));
// ItemList.Crop_Drop_Nickel.set(addItem(tLastID = 527, "Nickelback Leaf", "Source of Nickel", new Object[]{}));
// ItemList.Crop_Drop_Zinc.set(addItem(tLastID = 528, "Galvania Leaf", "Source of Zinc", new Object[]{}));
// ItemList.Crop_Drop_Manganese.set(addItem(tLastID = 529, "Pyrolusium Leaf", "Source of Manganese", new Object[]{}));
// ItemList.Crop_Drop_Scheelite.set(addItem(tLastID = 531, "Scheelinium Leaf", "Source of Tungsten", new Object[]{}));
// ItemList.Crop_Drop_Platinum.set(addItem(tLastID = 532, "Platina Leaf", "Source of Platinum", new Object[]{}));
// ItemList.Crop_Drop_Iridium.set(addItem(tLastID = 533, "Quantaria Leaf", "Source of Iridium", new Object[]{}));
// ItemList.Crop_Drop_Osmium.set(addItem(tLastID = 534, "Quantaria Leaf", "Source of Osmium", new Object[]{}));
// ItemList.Crop_Drop_Naquadah.set(addItem(tLastID = 535, "Stargatium Leaf", "Source of Naquadah", new Object[]{}));
ItemStack tCrop;
// Metals Line
tCrop = ItemList.Crop_Drop_Coppon.get(1, new Object[0]);
addProcess(tCrop, Materials.Copper, 100);
addProcess(tCrop, Materials.Tetrahedrite, 100);
addProcess(tCrop, Materials.Chalcopyrite, 100);
addProcess(tCrop, Materials.Malachite, 100);
addProcess(tCrop, Materials.Pyrite, 100);
addProcess(tCrop, Materials.Stibnite, 100);
tCrop = ItemList.Crop_Drop_Tine.get(1, new Object[0]);
addProcess(tCrop, Materials.Tin, 100);
addProcess(tCrop, Materials.Cassiterite, 100);
tCrop = ItemList.Crop_Drop_Plumbilia.get(1, new Object[0]);
addProcess(tCrop, Materials.Lead, 100);
addProcess(tCrop, Materials.Galena, 100);
tCrop = ItemList.Crop_Drop_Ferru.get(1, new Object[0]);
addProcess(tCrop, Materials.Iron, 100);
addProcess(tCrop, Materials.Magnetite, 100);
addProcess(tCrop, Materials.BrownLimonite, 100);
addProcess(tCrop, Materials.YellowLimonite, 100);
addProcess(tCrop, Materials.VanadiumMagnetite, 100);
addProcess(tCrop, Materials.BandedIron, 100);
addProcess(tCrop, Materials.Pyrite, 100);
addProcess(tCrop, Materials.MeteoricIron, 100);
tCrop = ItemList.Crop_Drop_Nickel.get(1, new Object[0]);
addProcess(tCrop, Materials.Nickel, 100);
addProcess(tCrop, Materials.Garnierite, 100);
addProcess(tCrop, Materials.Pentlandite, 100);
addProcess(tCrop, Materials.Cobaltite, 100);
addProcess(tCrop, Materials.Wulfenite, 100);
addProcess(tCrop, Materials.Powellite, 100);
tCrop = ItemList.Crop_Drop_Zinc.get(1, new Object[0]);
addProcess(tCrop, Materials.Zinc, 100);
addProcess(tCrop, Materials.Sphalerite, 100);
addProcess(tCrop, Materials.Sulfur, 100);
tCrop = ItemList.Crop_Drop_Argentia.get(1, new Object[0]);
addProcess(tCrop, Materials.Silver, 100);
addProcess(tCrop, Materials.Galena, 100);
tCrop = ItemList.Crop_Drop_Aurelia.get(1, new Object[0]);
addProcess(tCrop, Materials.Gold, 100);
addProcess(tCrop, Materials.Magnetite, 100);
// Rare Metals Line
tCrop = ItemList.Crop_Drop_Bauxite.get(1, new Object[0]);
addProcess(tCrop,Materials.Aluminium,60);
addProcess(tCrop,Materials.Bauxite,100);
tCrop = ItemList.Crop_Drop_Manganese.get(1, new Object[0]);
addProcess(tCrop,Materials.Manganese,30);
addProcess(tCrop,Materials.Grossular,100);
addProcess(tCrop,Materials.Spessartine,100);
addProcess(tCrop,Materials.Pyrolusite,100);
addProcess(tCrop,Materials.Tantalite,100);
tCrop = ItemList.Crop_Drop_Ilmenite.get(1, new Object[0]);
addProcess(tCrop,Materials.Titanium,100);
addProcess(tCrop,Materials.Ilmenite,100);
addProcess(tCrop,Materials.Bauxite,100);
tCrop = ItemList.Crop_Drop_Scheelite.get(1, new Object[0]);
addProcess(tCrop,Materials.Scheelite,100);
addProcess(tCrop,Materials.Tungstate,100);
addProcess(tCrop,Materials.Lithium,100);
tCrop = ItemList.Crop_Drop_Platinum.get(1, new Object[0]);
addProcess(tCrop,Materials.Platinum,40);
addProcess(tCrop,Materials.Cooperite,40);
addProcess(tCrop,Materials.Palladium,40);
addProcess(tCrop, Materials.Neodymium, 100);
addProcess(tCrop, Materials.Bastnasite, 100);
tCrop = ItemList.Crop_Drop_Iridium.get(1, new Object[0]);
addProcess(tCrop,Materials.Iridium,20);
tCrop = ItemList.Crop_Drop_Osmium.get(1, new Object[0]);
addProcess(tCrop,Materials.Osmium,20);
// Radioactive Line
tCrop = ItemList.Crop_Drop_Uraninite.get(1, new Object[0]);
addProcess(tCrop,Materials.Uraninite,50);
addProcess(tCrop,Materials.Uranium,50);
addProcess(tCrop,Materials.Pitchblende,50);
addProcess(tCrop,Materials.Uranium235,50);
tCrop = ItemList.Crop_Drop_Thorium.get(1, new Object[0]);
addProcess(tCrop,Materials.Thorium,50);
tCrop = ItemList.Crop_Drop_Naquadah.get(1, new Object[0]);
addProcess(tCrop,Materials.Naquadah,10);
addProcess(tCrop,Materials.NaquadahEnriched,10);
addProcess(tCrop,Materials.Naquadria,10);
}
public void addProcess(ItemStack tCrop, Materials aMaterial, int chance){
if(GT_Mod.gregtechproxy.mNervedCombs){
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, 300);
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), 1000, 1000, 24);
}else{
GT_ModHandler.addExtractionRecipe(tCrop, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1));
}
}
}