Assembly Line recipe work (Blood Asp)
This commit is contained in:
parent
7c6c34ed0f
commit
857fb7ec02
5 changed files with 111 additions and 54 deletions
|
@ -161,7 +161,7 @@ public interface IGT_RecipeAdder {
|
||||||
|
|
||||||
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt, boolean hidden);
|
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt, boolean hidden);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a CNC-Machine Recipe
|
* Adds a CNC-Machine Recipe
|
||||||
*
|
*
|
||||||
|
@ -201,7 +201,7 @@ public interface IGT_RecipeAdder {
|
||||||
* @param aDuration must be > 0
|
* @param aDuration must be > 0
|
||||||
* @param aEUt should be > 0
|
* @param aEUt should be > 0
|
||||||
*/
|
*/
|
||||||
public boolean addAssemblylineRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt);
|
public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a Forge Hammer Recipe
|
* Adds a Forge Hammer Recipe
|
||||||
|
@ -387,7 +387,7 @@ public interface IGT_RecipeAdder {
|
||||||
* Adds a Recipe for Fluid Smelting
|
* Adds a Recipe for Fluid Smelting
|
||||||
*/
|
*/
|
||||||
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt);
|
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a Recipe for Fluid Smelting
|
* Adds a Recipe for Fluid Smelting
|
||||||
*/
|
*/
|
||||||
|
@ -453,7 +453,7 @@ public interface IGT_RecipeAdder {
|
||||||
*/
|
*/
|
||||||
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden);
|
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a Recipe for the GT Pulveriser. (up to 4 Outputs)
|
* Adds a Recipe for the GT Pulveriser. (up to 4 Outputs)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -413,6 +413,29 @@ public class GT_Recipe {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static class GT_Recipe_AssemblyLine{
|
||||||
|
public static final ArrayList<GT_Recipe_AssemblyLine> sAssemblylineRecipes = new ArrayList<GT_Recipe_AssemblyLine>();
|
||||||
|
|
||||||
|
public ItemStack mResearchItem;
|
||||||
|
public int mResearchTime;
|
||||||
|
public ItemStack[] mInputs;
|
||||||
|
public FluidStack[] mFluidInputs;
|
||||||
|
public ItemStack mOutput;
|
||||||
|
public int mDuration;
|
||||||
|
public int mEUt;
|
||||||
|
|
||||||
|
public GT_Recipe_AssemblyLine(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) {
|
||||||
|
mResearchItem = aResearchItem;
|
||||||
|
mResearchTime = aResearchTime;
|
||||||
|
mInputs = aInputs;
|
||||||
|
mFluidInputs = aFluidInputs;
|
||||||
|
mOutput = aOutput;
|
||||||
|
mDuration = aDuration;
|
||||||
|
mEUt = aEUt;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public static class GT_Recipe_Map {
|
public static class GT_Recipe_Map {
|
||||||
/**
|
/**
|
||||||
* Contains all Recipe Maps
|
* Contains all Recipe Maps
|
||||||
|
@ -432,7 +455,7 @@ public class GT_Recipe {
|
||||||
public static final GT_Recipe_Map sByProductList = new GT_Recipe_Map(new HashSet<GT_Recipe>(1000), "gt.recipe.byproductlist", "Ore Byproduct List", null, RES_PATH_GUI + "basicmachines/Default", 1, 6, 1, 0, 1, E, 1, E, true, true);
|
public static final GT_Recipe_Map sByProductList = new GT_Recipe_Map(new HashSet<GT_Recipe>(1000), "gt.recipe.byproductlist", "Ore Byproduct List", null, RES_PATH_GUI + "basicmachines/Default", 1, 6, 1, 0, 1, E, 1, E, true, true);
|
||||||
public static final GT_Recipe_Map sRepicatorFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(100), "gt.recipe.replicator", "Replicator", null, RES_PATH_GUI + "basicmachines/Replicator", 0, 1, 0, 1, 1, E, 1, E, true, true);
|
public static final GT_Recipe_Map sRepicatorFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(100), "gt.recipe.replicator", "Replicator", null, RES_PATH_GUI + "basicmachines/Replicator", 0, 1, 0, 1, 1, E, 1, E, true, true);
|
||||||
public static final GT_Recipe_Map sAssemblylineFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(30), "gt.recipe.scanner", "Scanner", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
public static final GT_Recipe_Map sAssemblylineFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(30), "gt.recipe.scanner", "Scanner", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||||
|
|
||||||
public static final GT_Recipe_Map sPlasmaArcFurnaceRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10000), "gt.recipe.plasmaarcfurnace", "Plasma Arc Furnace", null, RES_PATH_GUI + "basicmachines/PlasmaArcFurnace", 1, 4, 1, 1, 1, E, 1, E, true, true);
|
public static final GT_Recipe_Map sPlasmaArcFurnaceRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10000), "gt.recipe.plasmaarcfurnace", "Plasma Arc Furnace", null, RES_PATH_GUI + "basicmachines/PlasmaArcFurnace", 1, 4, 1, 1, 1, E, 1, E, true, true);
|
||||||
public static final GT_Recipe_Map sArcFurnaceRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10000), "gt.recipe.arcfurnace", "Arc Furnace", null, RES_PATH_GUI + "basicmachines/ArcFurnace", 1, 4, 1, 1, 3, E, 1, E, true, true);
|
public static final GT_Recipe_Map sArcFurnaceRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10000), "gt.recipe.arcfurnace", "Arc Furnace", null, RES_PATH_GUI + "basicmachines/ArcFurnace", 1, 4, 1, 1, 3, E, 1, E, true, true);
|
||||||
public static final GT_Recipe_Map sPrinterRecipes = new GT_Recipe_Map_Printer(new HashSet<GT_Recipe>(100), "gt.recipe.printer", "Printer", null, RES_PATH_GUI + "basicmachines/Printer", 1, 1, 1, 1, 1, E, 1, E, true, true);
|
public static final GT_Recipe_Map sPrinterRecipes = new GT_Recipe_Map_Printer(new HashSet<GT_Recipe>(100), "gt.recipe.printer", "Printer", null, RES_PATH_GUI + "basicmachines/Printer", 1, 1, 1, 1, 1, E, 1, E, true, true);
|
||||||
|
@ -485,8 +508,7 @@ public class GT_Recipe {
|
||||||
public static final GT_Recipe_Map_Fuel sSmallNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.smallnaquadahreactor", "Small Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
public static final GT_Recipe_Map_Fuel sSmallNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.smallnaquadahreactor", "Small Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||||
public static final GT_Recipe_Map_Fuel sLargeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.largenaquadahreactor", "Large Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
public static final GT_Recipe_Map_Fuel sLargeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.largenaquadahreactor", "Large Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||||
public static final GT_Recipe_Map_Fuel sFluidNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.fluidnaquadahreactor", "Fluid Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
public static final GT_Recipe_Map_Fuel sFluidNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.fluidnaquadahreactor", "Fluid Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||||
public static final GT_Recipe_Map sAssemblylineRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(100), "gt.recipe.assemblyline", "Assemblyline", null, RES_PATH_GUI + "basicmachines/Default", 15, 1, 4, 0, 1, E, 1, E, false, false);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HashMap of Recipes based on their Items
|
* HashMap of Recipes based on their Items
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -8,6 +8,7 @@ import gregtech.api.enums.OrePrefixes;
|
||||||
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
|
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
|
||||||
import gregtech.api.util.GT_ModHandler;
|
import gregtech.api.util.GT_ModHandler;
|
||||||
import gregtech.api.util.GT_Recipe;
|
import gregtech.api.util.GT_Recipe;
|
||||||
|
import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.fluids.Fluid;
|
import net.minecraftforge.fluids.Fluid;
|
||||||
|
@ -114,11 +115,11 @@ public class GT_RecipeAdder
|
||||||
new GT_Recipe(aInput1, aEUt, aInput2, aDuration, aOutput1, aOutput2);
|
new GT_Recipe(aInput1, aEUt, aInput2, aDuration, aOutput1, aOutput2);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt) {
|
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt) {
|
||||||
return addAlloySmelterRecipe(aInput1, aInput2, aOutput1, aDuration, aEUt, false);
|
return addAlloySmelterRecipe(aInput1, aInput2, aOutput1, aDuration, aEUt, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt, boolean hidden) {
|
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt, boolean hidden) {
|
||||||
if ((aInput1 == null) || (aOutput1 == null || Materials.Graphite.contains(aInput1))) {
|
if ((aInput1 == null) || (aOutput1 == null || Materials.Graphite.contains(aInput1))) {
|
||||||
|
@ -131,7 +132,7 @@ public class GT_RecipeAdder
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
GT_Recipe tRecipe =new GT_Recipe(aInput1, aInput2, aEUt, aDuration, aOutput1);
|
GT_Recipe tRecipe =new GT_Recipe(aInput1, aInput2, aEUt, aDuration, aOutput1);
|
||||||
if ((hidden) && (tRecipe != null)) {
|
if ((hidden) && (tRecipe != null)) {
|
||||||
tRecipe.mHidden = true;
|
tRecipe.mHidden = true;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -273,14 +274,14 @@ public class GT_RecipeAdder
|
||||||
int tITNT = Math.max(1, tExplosives/4);
|
int tITNT = Math.max(1, tExplosives/4);
|
||||||
//new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2);
|
//new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2);
|
||||||
if(tGunpowder<65){
|
if(tGunpowder<65){
|
||||||
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, ItemList.Block_Powderbarrel.get(tGunpowder, new Object[0])}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, ItemList.Block_Powderbarrel.get(tGunpowder, new Object[0])}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
||||||
}
|
}
|
||||||
if(tDynamite<17){
|
if(tDynamite<17){
|
||||||
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, GT_ModHandler.getIC2Item("dynamite", tDynamite, null)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, GT_ModHandler.getIC2Item("dynamite", tDynamite, null)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
||||||
}
|
}
|
||||||
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, new ItemStack(Blocks.tnt,tTNT)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, new ItemStack(Blocks.tnt,tTNT)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
||||||
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, GT_ModHandler.getIC2Item("industrialTnt", tITNT, null)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, GT_ModHandler.getIC2Item("industrialTnt", tITNT, null)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -472,11 +473,11 @@ public class GT_RecipeAdder
|
||||||
GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes.addRecipe(true, new ItemStack[]{aMold}, new ItemStack[]{aOutput}, null, new FluidStack[]{aInput}, null, aDuration, aEUt, 0);
|
GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes.addRecipe(true, new ItemStack[]{aMold}, new ItemStack[]{aOutput}, null, new FluidStack[]{aInput}, null, aDuration, aEUt, 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt) {
|
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt) {
|
||||||
return addFluidSmelterRecipe(aInput, aRemains, aOutput, aChance, aDuration, aEUt, false);
|
return addFluidSmelterRecipe(aInput, aRemains, aOutput, aChance, aDuration, aEUt, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt, boolean hidden) {
|
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt, boolean hidden) {
|
||||||
if ((aInput == null) || (aOutput == null)) {
|
if ((aInput == null) || (aOutput == null)) {
|
||||||
|
@ -493,7 +494,7 @@ public class GT_RecipeAdder
|
||||||
}
|
}
|
||||||
GT_Recipe tRecipe =GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(true, new ItemStack[]{aInput}, new ItemStack[]{aRemains}, null, new int[]{aChance}, null, new FluidStack[]{aOutput}, aDuration, aEUt, 0);
|
GT_Recipe tRecipe =GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(true, new ItemStack[]{aInput}, new ItemStack[]{aRemains}, null, new int[]{aChance}, null, new FluidStack[]{aOutput}, aDuration, aEUt, 0);
|
||||||
if ((hidden) && (tRecipe != null)) {
|
if ((hidden) && (tRecipe != null)) {
|
||||||
tRecipe.mHidden = true;
|
tRecipe.mHidden = true;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -635,12 +636,12 @@ public class GT_RecipeAdder
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt) {
|
@Override
|
||||||
return addArcFurnaceRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false);
|
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt) {
|
||||||
}
|
return addArcFurnaceRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden) {
|
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden) {
|
||||||
if ((aInput == null) || (aOutputs == null)) {
|
if ((aInput == null) || (aOutputs == null)) {
|
||||||
|
@ -653,14 +654,14 @@ public class GT_RecipeAdder
|
||||||
}
|
}
|
||||||
GT_Recipe sRecipe = GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, new FluidStack[]{Materials.Oxygen.getGas(aDuration)}, null, Math.max(1, aDuration), Math.max(1, aEUt), 0);
|
GT_Recipe sRecipe = GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, new FluidStack[]{Materials.Oxygen.getGas(aDuration)}, null, Math.max(1, aDuration), Math.max(1, aEUt), 0);
|
||||||
if ((hidden) && (sRecipe != null)) {
|
if ((hidden) && (sRecipe != null)) {
|
||||||
sRecipe.mHidden = true;
|
sRecipe.mHidden = true;
|
||||||
}
|
}
|
||||||
for (Materials tMaterial : new Materials[]{Materials.Argon, Materials.Nitrogen}) {
|
for (Materials tMaterial : new Materials[]{Materials.Argon, Materials.Nitrogen}) {
|
||||||
if (tMaterial.mPlasma != null) {
|
if (tMaterial.mPlasma != null) {
|
||||||
int tPlasmaAmount = (int) Math.max(1L, aDuration / (tMaterial.getMass() * 16L));
|
int tPlasmaAmount = (int) Math.max(1L, aDuration / (tMaterial.getMass() * 16L));
|
||||||
GT_Recipe tRecipe =GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, new FluidStack[]{tMaterial.getPlasma(tPlasmaAmount)}, new FluidStack[]{tMaterial.getGas(tPlasmaAmount)}, Math.max(1, aDuration / 16), Math.max(1, aEUt / 3), 0);
|
GT_Recipe tRecipe =GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, new FluidStack[]{tMaterial.getPlasma(tPlasmaAmount)}, new FluidStack[]{tMaterial.getGas(tPlasmaAmount)}, Math.max(1, aDuration / 16), Math.max(1, aEUt / 3), 0);
|
||||||
if ((hidden) && (tRecipe != null)) {
|
if ((hidden) && (tRecipe != null)) {
|
||||||
tRecipe.mHidden = true;
|
tRecipe.mHidden = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -717,12 +718,12 @@ public class GT_RecipeAdder
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt) {
|
@Override
|
||||||
return addPulveriserRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false);
|
public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt) {
|
||||||
}
|
return addPulveriserRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden) {
|
public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden) {
|
||||||
if ((aInput == null) || (aOutputs == null)) {
|
if ((aInput == null) || (aOutputs == null)) {
|
||||||
|
@ -735,7 +736,7 @@ public class GT_RecipeAdder
|
||||||
}
|
}
|
||||||
GT_Recipe tRecipe =GT_Recipe.GT_Recipe_Map.sMaceratorRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, null, null, aDuration, aEUt, 0);
|
GT_Recipe tRecipe =GT_Recipe.GT_Recipe_Map.sMaceratorRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, null, null, aDuration, aEUt, 0);
|
||||||
if ((hidden) && (tRecipe != null)) {
|
if ((hidden) && (tRecipe != null)) {
|
||||||
tRecipe.mHidden = true;
|
tRecipe.mHidden = true;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -769,28 +770,28 @@ public class GT_RecipeAdder
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean addAssemblylineRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt) {
|
public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt) {
|
||||||
if ((aInputs == null) || (aOutput1 == null) || aInputs.length>15 || aInputs.length<4) {
|
if ((aResearchItem==null)||(aResearchTime<=0)||(aInputs == null) || (aOutput1 == null) || aInputs.length>15 || aInputs.length<4) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ((aDuration = GregTech_API.sRecipeFile.get("assemblingline", aOutput1, aDuration)) <= 0) {
|
if ((aDuration = GregTech_API.sRecipeFile.get("assemblingline", aOutput1, aDuration)) <= 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
String tRecipe = "";
|
// String tRecipe = "";
|
||||||
for(ItemStack sStack: aInputs){
|
// for(ItemStack sStack: aInputs){
|
||||||
tRecipe += sStack.getItem().getItemStackDisplayName(sStack)+" x"+sStack.stackSize+"; ";
|
// tRecipe += sStack.getItem().getItemStackDisplayName(sStack)+" x"+sStack.stackSize+"; ";
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
for(FluidStack sStack: aFluidInputs){
|
// for(FluidStack sStack: aFluidInputs){
|
||||||
tRecipe += sStack.getLocalizedName()+" "+sStack.amount+"L; ";
|
// tRecipe += sStack.getLocalizedName()+" "+sStack.amount+"L; ";
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "tRecipe", new Object[0])}, new ItemStack[]{aOutput1}, null, null, null, aDuration, aEUt, 0);
|
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput1}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Research result", new Object[0])}, null, null, aResearchTime, 30, 0);
|
||||||
|
|
||||||
GT_Recipe.GT_Recipe_Map.sAssemblylineRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, aFluidInputs, null, aDuration, aEUt, 0);
|
GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe_AssemblyLine( aResearchItem, aResearchTime, aInputs, aFluidInputs, aOutput1, aDuration, aEUt));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ import gregtech.api.util.GT_OreDictUnificator;
|
||||||
import gregtech.api.util.GT_Recipe;
|
import gregtech.api.util.GT_Recipe;
|
||||||
import gregtech.api.util.GT_Utility;
|
import gregtech.api.util.GT_Utility;
|
||||||
import gregtech.common.items.behaviors.Behaviour_DataOrb;
|
import gregtech.common.items.behaviors.Behaviour_DataOrb;
|
||||||
|
import gregtech.common.items.behaviors.Behaviour_DataStick;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
@ -147,6 +148,41 @@ public class GT_MetaTileEntity_Scanner
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(ItemList.Tool_DataStick.isStackEqual(getSpecialSlot(), false, true)&& aStack !=null){
|
||||||
|
for(GT_Recipe.GT_Recipe_AssemblyLine tRecipe:GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes){
|
||||||
|
if(GT_Utility.areStacksEqual(tRecipe.mResearchItem, aStack, true)){
|
||||||
|
|
||||||
|
this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{getSpecialSlot()});
|
||||||
|
getSpecialSlot().stackSize -= 1;
|
||||||
|
GT_Utility.ItemNBT.setBookTitle(this.mOutputItems[0], tRecipe.mOutput.getDisplayName()+" Construction Data");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
NBTTagCompound tNBT = this.mOutputItems[0].getTagCompound();
|
||||||
|
if (tNBT == null) {
|
||||||
|
tNBT = new NBTTagCompound();
|
||||||
|
}
|
||||||
|
tNBT.setTag("output", new NBTTagCompound());
|
||||||
|
tNBT.setInteger("time", tRecipe.mDuration);
|
||||||
|
tNBT.setInteger("eu", tRecipe.mEUt);
|
||||||
|
for(int i = 0 ; i < tRecipe.mInputs.length ; i++){
|
||||||
|
|
||||||
|
tNBT.setTag(""+i, new NBTTagCompound());
|
||||||
|
}
|
||||||
|
for(int i = 0 ; i < tRecipe.mFluidInputs.length ; i++){
|
||||||
|
|
||||||
|
tNBT.setTag("f"+i, new NBTTagCompound());
|
||||||
|
}
|
||||||
|
this.mOutputItems[0].setTagCompound(tNBT);
|
||||||
|
|
||||||
|
aStack.stackSize -= 1;
|
||||||
|
this.mMaxProgresstime = (tRecipe.mResearchTime / (1 << this.mTier - 1));
|
||||||
|
this.mEUt = (30 * (1 << this.mTier - 1) * (1 << this.mTier - 1));
|
||||||
|
getSpecialSlot().stackSize -= 1;
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1407,9 +1407,7 @@ public class GT_MachineRecipeLoader
|
||||||
GT_Values.RA.addCentrifugeRecipe(GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 45), GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.BasalticMineralSand, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Olivine, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Obsidian, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Basalt, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Flint, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.RareEarth, 1L), new int[]{2000, 2000, 2000, 2000, 2000, 2000}, 64, 20);
|
GT_Values.RA.addCentrifugeRecipe(GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 45), GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.BasalticMineralSand, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Olivine, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Obsidian, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Basalt, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Flint, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.RareEarth, 1L), new int[]{2000, 2000, 2000, 2000, 2000, 2000}, 64, 20);
|
||||||
|
|
||||||
//TestRecipe remember to remove!!
|
//TestRecipe remember to remove!!
|
||||||
GT_Values.RA.addAssemblylineRecipe(new ItemStack[]{ItemList.Electric_Motor_IV.get(2, new Object(){}),ItemList.Electric_Piston_IV.get(1, new Object(){}),GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 1L)}, new FluidStack[]{Materials.SolderingAlloy.getMolten(144),Materials.Hydrogen.getGas(500)}, ItemList.Robot_Arm_IV.get(2, new Object[]{}), 100, 512);
|
GT_Values.RA.addAssemblylineRecipe(ItemList.Electric_Motor_EV.get(1, new Object(){}),1000,new ItemStack[]{ItemList.Electric_Motor_IV.get(2, new Object(){}),ItemList.Electric_Piston_IV.get(1, new Object(){}),GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 1L),GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenSteel, 1L),GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 1L),GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TungstenSteel, 1L)}, new FluidStack[]{Materials.SolderingAlloy.getMolten(144),Materials.Hydrogen.getGas(500)}, ItemList.Robot_Arm_IV.get(2, new Object[]{}), 100, 480); GT_Utility.removeSimpleIC2MachineRecipe(new ItemStack(Blocks.cobblestone), GT_ModHandler.getMaceratorRecipeList(), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L));
|
||||||
|
|
||||||
GT_Utility.removeSimpleIC2MachineRecipe(new ItemStack(Blocks.cobblestone), GT_ModHandler.getMaceratorRecipeList(), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L));
|
|
||||||
GT_Utility.removeSimpleIC2MachineRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lapis, 1L), GT_ModHandler.getMaceratorRecipeList(), ItemList.IC2_Plantball.get(1L, new Object[0]));
|
GT_Utility.removeSimpleIC2MachineRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lapis, 1L), GT_ModHandler.getMaceratorRecipeList(), ItemList.IC2_Plantball.get(1L, new Object[0]));
|
||||||
GT_Utility.removeSimpleIC2MachineRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_ModHandler.getMaceratorRecipeList(), ItemList.IC2_Plantball.get(1L, new Object[0]));
|
GT_Utility.removeSimpleIC2MachineRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_ModHandler.getMaceratorRecipeList(), ItemList.IC2_Plantball.get(1L, new Object[0]));
|
||||||
GT_Utility.removeSimpleIC2MachineRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L), GT_ModHandler.getMaceratorRecipeList(), ItemList.IC2_Plantball.get(1L, new Object[0]));
|
GT_Utility.removeSimpleIC2MachineRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L), GT_ModHandler.getMaceratorRecipeList(), ItemList.IC2_Plantball.get(1L, new Object[0]));
|
||||||
|
|
Loading…
Add table
Reference in a new issue