Added unificated recipe entries & Some fixes of Blast furnance
This commit is contained in:
parent
cc0540fff7
commit
0b59e42926
12 changed files with 253 additions and 49 deletions
|
@ -3,6 +3,8 @@ package gregtechmod.api.recipe;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import gregtechmod.api.enums.Materials;
|
||||
import gregtechmod.api.enums.OrePrefixes;
|
||||
import gregtechmod.api.util.GT_Utility;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -104,6 +106,13 @@ public abstract class RecipeFactory<F extends RecipeFactory<F>> {
|
|||
|
||||
public abstract RecipeFactory<F> inputs(ItemStack...stacks);
|
||||
|
||||
public abstract RecipeFactory<F> input(OrePrefixes prefix, Materials material, int count);
|
||||
|
||||
public RecipeFactory<F> input(OrePrefixes prefix, Materials material) {
|
||||
this.input(prefix, material, 1);
|
||||
return this;
|
||||
}
|
||||
|
||||
public RecipeFactory<F> input(String oreDict) {
|
||||
return this.input(oreDict, 1);
|
||||
}
|
||||
|
|
|
@ -34,8 +34,10 @@ public class GT_Container_BlastFurnace extends GT_ContainerMetaTile_Machine {
|
|||
super.detectAndSendChanges();
|
||||
if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) return;
|
||||
mMachine = ((GT_MetaTileEntity_BlastFurnace)mTileEntity.getMetaTileEntity()).mMachine;
|
||||
mProgress = ((GT_MetaTileEntity_BlastFurnace)mTileEntity.getMetaTileEntity()).getProgresstime();
|
||||
mMaxProgress = ((GT_MetaTileEntity_BlastFurnace)mTileEntity.getMetaTileEntity()).maxProgresstime();
|
||||
// mProgress = ((GT_MetaTileEntity_BlastFurnace)mTileEntity.getMetaTileEntity()).getProgresstime();
|
||||
// mMaxProgress = ((GT_MetaTileEntity_BlastFurnace)mTileEntity.getMetaTileEntity()).maxProgresstime();
|
||||
mProgress = 0;
|
||||
mMaxProgress = 0;
|
||||
mProgressScale = Math.max(0, Math.min(20, (mProgress>0?1:0) + (mProgress * 20) / (mMaxProgress<1?1:mMaxProgress)));
|
||||
mHeatCapacity = ((GT_MetaTileEntity_BlastFurnace)mTileEntity.getMetaTileEntity()).mHeatCapacity;
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package gregtechmod.common.recipe;
|
|||
|
||||
import gregtechmod.api.recipe.RecipeMap;
|
||||
import gregtechmod.api.util.GT_ModHandler;
|
||||
import gregtechmod.common.recipe.factory.BlastFurnanceRecipeFactory;
|
||||
import gregtechmod.common.recipe.factory.GeneratorRecipeFactory;
|
||||
import gregtechmod.common.recipe.factory.SimpleRecipeFactory;
|
||||
import gregtechmod.common.recipe.maps.FurnanceRecipeMap;
|
||||
|
@ -17,27 +18,27 @@ import gregtechmod.common.recipe.maps.ScannerRecipeMap;
|
|||
*
|
||||
*/
|
||||
public class RecipeMaps {
|
||||
public static final RecipeMap<SimpleRecipeFactory> FUSION_REACTOR = new RecipeMap<>(0, 0, 0, 0, 2, 2, 1, 1, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> CENTRIFUGE = new RecipeMap<>(0, 2, 1, 4, 0, 1, 0, 0, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> ELECTROLYZER = new RecipeMap<>(0, 2, 1, 4, 0, 1, 0, 0, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> GRINDER = new RecipeMap<>(1, 2, 1, 4, new SimpleRecipeFactory()); // TODO multiblocks!
|
||||
public static final RecipeMap<SimpleRecipeFactory> BLAST_FURNANCE = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); //
|
||||
public static final RecipeMap<SimpleRecipeFactory> IMPLOSION_COMPRESSOR = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); //
|
||||
public static final RecipeMap<SimpleRecipeFactory> SAWMILL = new RecipeMap<>(1, 2, 1, 3, new SimpleRecipeFactory()); //
|
||||
public static final RecipeMap<SimpleRecipeFactory> VACUUM_FREEZER = new RecipeMap<>(1, 1, 1, 1, new SimpleRecipeFactory()); // -----------------
|
||||
public static final RecipeMap<SimpleRecipeFactory> CHEMICAL = new RecipeMap<>(1, 2, 1, 1, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> DISTILLATION = new RecipeMap<>(1, 2, 1, 4, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> WIREMILL = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> BENDING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> ALLOY_SMELTING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> ASSEMBLING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> CANINNING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> LATHE = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> CUTTING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> EXTRUDING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> HAMMER = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); // TODO generate recipes according on code in Bronze hamerrer
|
||||
public static final RecipeMapPrinter PRINTER = new RecipeMapPrinter(1, 3, 1, 2);
|
||||
public static final PulverizerRecipeMap PULVERIZING = new PulverizerRecipeMap(1, 2, 1, 4);
|
||||
public static final RecipeMap<SimpleRecipeFactory> FUSION_REACTOR = new RecipeMap<>(0, 0, 0, 0, 2, 2, 1, 1, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> CENTRIFUGE = new RecipeMap<>(0, 2, 1, 4, 0, 1, 0, 0, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> ELECTROLYZER = new RecipeMap<>(0, 2, 1, 4, 0, 1, 0, 0, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> GRINDER = new RecipeMap<>(1, 2, 1, 4, new SimpleRecipeFactory()); // TODO multiblocks!
|
||||
public static final RecipeMap<BlastFurnanceRecipeFactory> BLAST_FURNANCE = new RecipeMap<>(1, 2, 1, 2, new BlastFurnanceRecipeFactory()); //
|
||||
public static final RecipeMap<SimpleRecipeFactory> IMPLOSION_COMPRESSOR= new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); //
|
||||
public static final RecipeMap<SimpleRecipeFactory> SAWMILL = new RecipeMap<>(1, 2, 1, 3, new SimpleRecipeFactory()); //
|
||||
public static final RecipeMap<SimpleRecipeFactory> VACUUM_FREEZER = new RecipeMap<>(1, 1, 1, 1, new SimpleRecipeFactory()); // -----------------
|
||||
public static final RecipeMap<SimpleRecipeFactory> CHEMICAL = new RecipeMap<>(1, 2, 1, 1, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> DISTILLATION = new RecipeMap<>(1, 2, 1, 4, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> WIREMILL = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> BENDING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> ALLOY_SMELTING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> ASSEMBLING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> CANINNING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> LATHE = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> CUTTING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> EXTRUDING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory());
|
||||
public static final RecipeMap<SimpleRecipeFactory> HAMMER = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); // TODO generate recipes according on code in Bronze hamerrer
|
||||
public static final RecipeMapPrinter PRINTER = new RecipeMapPrinter(1, 3, 1, 2);
|
||||
public static final PulverizerRecipeMap PULVERIZING = new PulverizerRecipeMap(1, 2, 1, 4);
|
||||
|
||||
public static final RecipeMap<GeneratorRecipeFactory> DIESEL_FUELS = new RecipeMap<>(0, 1, 0, 1, 1, 1, 0, 0, new GeneratorRecipeFactory()); // TODO generators recipemaps
|
||||
public static final RecipeMap<GeneratorRecipeFactory> TURBINE_FUELS = new RecipeMap<>(0, 1, 0, 1, 1, 1, 0, 0, new GeneratorRecipeFactory());
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
package gregtechmod.common.recipe;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import gregtechmod.api.enums.Materials;
|
||||
import gregtechmod.api.enums.OrePrefixes;
|
||||
import gregtechmod.api.recipe.Ingredient;
|
||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
||||
import gregtechmod.api.util.GT_Utility;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
/**
|
||||
* @author TheDarkDnKTv
|
||||
*
|
||||
*/
|
||||
public class UnifierRecipeEntry implements Ingredient {
|
||||
|
||||
private final OrePrefixes prefix;
|
||||
private final Materials material;
|
||||
private final int count;
|
||||
|
||||
public UnifierRecipeEntry(OrePrefixes prefix, Materials material) {
|
||||
this(prefix, material, 1);
|
||||
}
|
||||
|
||||
public UnifierRecipeEntry(OrePrefixes prefix, Materials material, int count) {
|
||||
if (prefix == null || material == null)
|
||||
throw new IllegalArgumentException("Prefix: " + prefix + ", material: " + material);
|
||||
if (!OreDictionary.doesOreNameExist(prefix.get(material)))
|
||||
throw new IllegalArgumentException("OrePrefix & Materials combination returns null item!");
|
||||
this.prefix = prefix;
|
||||
this.material = material;
|
||||
this.count = count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean match(ItemStack input) {
|
||||
// GT_OreDictUnificator. // FIXME Fix oredict unificator
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getVariants() {
|
||||
List<ItemStack> copies = GT_Utility.copy(GT_OreDictUnificator.getOres(prefix, material));
|
||||
for (ItemStack stack : copies) stack.stackSize = count;
|
||||
return copies;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWildcard() {
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,112 @@
|
|||
package gregtechmod.common.recipe.factory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.enums.Materials;
|
||||
import gregtechmod.api.enums.OrePrefixes;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
import gregtechmod.api.recipe.RecipeFactory;
|
||||
import gregtechmod.api.recipe.RecipeMap;
|
||||
import gregtechmod.api.util.GT_RecipeException;
|
||||
import gregtechmod.common.recipe.ChancedStack;
|
||||
import gregtechmod.common.recipe.RecipeEntry;
|
||||
import gregtechmod.common.recipe.UnifierRecipeEntry;
|
||||
import gregtechmod.common.recipe.RecipeEntry.Match;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* @author TheDarkDnKTv
|
||||
*
|
||||
*/
|
||||
public class BlastFurnanceRecipeFactory extends RecipeFactory<BlastFurnanceRecipeFactory> {
|
||||
|
||||
private int minTemp = -1;
|
||||
|
||||
public BlastFurnanceRecipeFactory() {}
|
||||
|
||||
public BlastFurnanceRecipeFactory(RecipeMap<BlastFurnanceRecipeFactory> map) {
|
||||
super(map);
|
||||
}
|
||||
|
||||
public BlastFurnanceRecipeFactory minTemperature(int value) {
|
||||
if (minTemp >= 0)
|
||||
throw new GT_RecipeException("Can not set temperature twice!");
|
||||
if (value <= 0)
|
||||
errors.append(" - Blast temperature should be grather than zero!\n");
|
||||
this.minTemp = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void reset() {
|
||||
super.reset();
|
||||
minTemp = -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlastFurnanceRecipeFactory nonConsumable(ItemStack stack) {
|
||||
super.input(RecipeEntry.singleton(stack, 0, Match.DAMAGE));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlastFurnanceRecipeFactory input(ItemStack stack, boolean checkDamage, boolean checkNBT) {
|
||||
@SuppressWarnings("serial")
|
||||
List<Match> vals = new ArrayList<Match>() {{
|
||||
if (checkDamage && (stack != null && stack.getItemDamage() != GregTech_API.ITEM_WILDCARD_DAMAGE)) add(Match.DAMAGE);
|
||||
if (checkNBT) add(Match.NBT);
|
||||
}};
|
||||
|
||||
|
||||
super.input(RecipeEntry.singleton(stack, vals.toArray(new Match[0])));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlastFurnanceRecipeFactory input(OrePrefixes prefix, Materials material, int count) {
|
||||
if (count < 0) errors.append("- Count less than ZERO!!!");
|
||||
inputItems.add(new UnifierRecipeEntry(prefix, material, count));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlastFurnanceRecipeFactory inputs(ItemStack... stacks) {
|
||||
for (ItemStack stack : stacks)
|
||||
this.input(stack);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlastFurnanceRecipeFactory input(String oreDict, int amount) {
|
||||
if (amount < 0) errors.append("- Count less than ZERO!!!");
|
||||
super.input(RecipeEntry.oreDict(oreDict, amount, Match.DAMAGE));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlastFurnanceRecipeFactory chanced(ItemStack stack, int chance) {
|
||||
super.chanced(new ChancedStack(stack.copy(), chance));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Recipe build() {
|
||||
if (EUt < 0) errors.append(" - EU/t was not set!\n");
|
||||
if (duration <= 0) errors.append(" - Duration was not set!\n");
|
||||
if (minTemp < 0) errors.append(" - Blast temperature was not set!\n");
|
||||
if (inputItems.isEmpty() &&
|
||||
inputFluids.isEmpty()) errors.append(" - Input of recipe shall not be empty!\n");
|
||||
if (outputItems.isEmpty() &&
|
||||
chancedOutput.isEmpty() &&
|
||||
outputFluids.isEmpty()) errors.append(" - Output of recipe shall not be empty!");
|
||||
if (errors.length() == 0) {
|
||||
Recipe recipe = new Recipe(startEU, EUt, duration, shaped, inputItems, outputItems, chancedOutput, inputFluids, outputFluids, Collections.singletonMap("minTemp", Integer.valueOf(minTemp)));
|
||||
reset();
|
||||
return recipe;
|
||||
} throw new GT_RecipeException(errors.toString());
|
||||
}
|
||||
|
||||
}
|
|
@ -1,9 +1,12 @@
|
|||
package gregtechmod.common.recipe.factory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.enums.Materials;
|
||||
import gregtechmod.api.enums.OrePrefixes;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
import gregtechmod.api.recipe.RecipeFactory;
|
||||
import gregtechmod.api.recipe.RecipeMap;
|
||||
|
@ -11,6 +14,7 @@ import gregtechmod.api.util.GT_RecipeException;
|
|||
import gregtechmod.common.recipe.ChancedStack;
|
||||
import gregtechmod.common.recipe.RecipeEntry;
|
||||
import gregtechmod.common.recipe.RecipeEntry.Match;
|
||||
import gregtechmod.common.recipe.UnifierRecipeEntry;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
|
@ -45,7 +49,14 @@ public class GeneratorRecipeFactory extends RecipeFactory<GeneratorRecipeFactory
|
|||
super.input(RecipeEntry.singleton(stack, vals.toArray(new Match[0])));
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public GeneratorRecipeFactory input(OrePrefixes prefix, Materials material, int count) {
|
||||
if (count < 0) errors.append("- Count less than ZERO!!!");
|
||||
this.inputItems.add(new UnifierRecipeEntry(prefix, material, count));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeneratorRecipeFactory inputs(ItemStack... stacks) {
|
||||
for (ItemStack stack : stacks)
|
||||
|
@ -55,6 +66,7 @@ public class GeneratorRecipeFactory extends RecipeFactory<GeneratorRecipeFactory
|
|||
|
||||
@Override
|
||||
public GeneratorRecipeFactory input(String oreDict, int amount) {
|
||||
if (amount < 0) errors.append("- Count less than ZERO!!!");
|
||||
super.input(RecipeEntry.oreDict(oreDict, amount, Match.DAMAGE));
|
||||
return this;
|
||||
}
|
||||
|
@ -72,8 +84,8 @@ public class GeneratorRecipeFactory extends RecipeFactory<GeneratorRecipeFactory
|
|||
if (inputItems.isEmpty() &&
|
||||
inputFluids.isEmpty()) errors.append(" - Input of recipe shall not be empty!\n");
|
||||
if (errors.length() == 0) {
|
||||
Recipe recipe = new Recipe(startEU, EUt, duration, shaped, inputItems, outputItems, chancedOutput, inputFluids, outputFluids);
|
||||
super.reset();
|
||||
Recipe recipe = new Recipe(startEU, EUt, duration, shaped, inputItems, outputItems, chancedOutput, inputFluids, outputFluids, Collections.emptyMap());
|
||||
reset();
|
||||
return recipe;
|
||||
} throw new GT_RecipeException(errors.toString());
|
||||
}
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
package gregtechmod.common.recipe.factory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.enums.Materials;
|
||||
import gregtechmod.api.enums.OrePrefixes;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
import gregtechmod.api.recipe.RecipeFactory;
|
||||
import gregtechmod.api.recipe.RecipeMap;
|
||||
|
@ -11,7 +14,7 @@ import gregtechmod.api.util.GT_RecipeException;
|
|||
import gregtechmod.common.recipe.ChancedStack;
|
||||
import gregtechmod.common.recipe.RecipeEntry;
|
||||
import gregtechmod.common.recipe.RecipeEntry.Match;
|
||||
|
||||
import gregtechmod.common.recipe.UnifierRecipeEntry;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
|
||||
|
@ -57,10 +60,18 @@ public class SimpleRecipeFactory extends RecipeFactory<SimpleRecipeFactory> {
|
|||
|
||||
@Override
|
||||
public SimpleRecipeFactory input(String oreDict, int amount) {
|
||||
if (amount < 0) errors.append("- Count less than ZERO!!!");
|
||||
super.input(RecipeEntry.oreDict(oreDict, amount, Match.DAMAGE));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SimpleRecipeFactory input(OrePrefixes prefix, Materials material, int count) {
|
||||
if (count < 0) errors.append("- Count less than ZERO!!!");
|
||||
inputItems.add(new UnifierRecipeEntry(prefix, material, count));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SimpleRecipeFactory chanced(ItemStack stack, int chance) {
|
||||
super.chanced(new ChancedStack(stack.copy(), chance));
|
||||
|
@ -77,8 +88,8 @@ public class SimpleRecipeFactory extends RecipeFactory<SimpleRecipeFactory> {
|
|||
chancedOutput.isEmpty() &&
|
||||
outputFluids.isEmpty()) errors.append(" - Output of recipe shall not be empty!");
|
||||
if (errors.length() == 0) {
|
||||
Recipe recipe = new Recipe(startEU, EUt, duration, shaped, inputItems, outputItems, chancedOutput, inputFluids, outputFluids);
|
||||
super.reset();
|
||||
Recipe recipe = new Recipe(startEU, EUt, duration, shaped, inputItems, outputItems, chancedOutput, inputFluids, outputFluids, Collections.emptyMap());
|
||||
reset();
|
||||
return recipe;
|
||||
} throw new GT_RecipeException(errors.toString());
|
||||
}
|
||||
|
|
|
@ -44,8 +44,6 @@ public class GT_MetaTileEntity_BlastFurnace extends MetaTileEntity {
|
|||
@Override public int maxSteamStore() {return maxEUStore();}
|
||||
@Override public int getInvSize() {return 4;}
|
||||
@Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
|
||||
@Override public int getProgresstime() {return mProgresstime;}
|
||||
@Override public int maxProgresstime() {return mMaxProgresstime;}
|
||||
@Override public int increaseProgress(int aProgress) {mProgresstime += aProgress; return mMaxProgresstime-mProgresstime;}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -37,8 +37,8 @@ public class GT_MetaTileEntity_Boiler_Bronze extends GT_MetaTileEntity_BasicTank
|
|||
@Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
|
||||
@Override public boolean isValidSlot(int aIndex) {return true;}
|
||||
@Override public int getInvSize() {return 4;}
|
||||
@Override public int getProgresstime() {return mTemperature;}
|
||||
@Override public int maxProgresstime() {return 500;}
|
||||
// @Override public int getProgresstime() {return mTemperature;} // TODO maybe needed somewhere
|
||||
// @Override public int maxProgresstime() {return 500;}
|
||||
|
||||
@Override public void onRightclick(EntityPlayer aPlayer) {
|
||||
if (aPlayer != null) {
|
||||
|
|
|
@ -37,8 +37,8 @@ public class GT_MetaTileEntity_Boiler_Steel extends GT_MetaTileEntity_BasicTank
|
|||
@Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
|
||||
@Override public boolean isValidSlot(int aIndex) {return true;}
|
||||
@Override public int getInvSize() {return 4;}
|
||||
@Override public int getProgresstime() {return mTemperature;}
|
||||
@Override public int maxProgresstime() {return 1000;}
|
||||
// @Override public int getProgresstime() {return mTemperature;} // TODO maybe needed somewhere
|
||||
// @Override public int maxProgresstime() {return 1000;}
|
||||
|
||||
@Override public void onRightclick(EntityPlayer aPlayer) {
|
||||
if (aPlayer != null) {
|
||||
|
|
|
@ -104,17 +104,17 @@ public class GT_MachineRecipeLoader implements Runnable
|
|||
GT_ModHandler.addPulverisationRecipe(new ItemStack(Items.flint, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Flint, 4L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Flint, 1L), 40, true);
|
||||
GT_ModHandler.addPulverisationRecipe(new ItemStack(Blocks.wool, 1, 32767), new ItemStack(Items.string, 2), new ItemStack(Items.string, 1), 50, false);
|
||||
|
||||
// TODO add custom recipe builder
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 2L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2L), 500, 120, 1000);
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.ShadowIron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 2L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.ShadowSteel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2L), 500, 120, 1100);
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.MeteoricIron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 2L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.MeteoricSteel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2L), 500, 120, 1200);
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tungsten, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.TungstenSteel, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 4L), 500, 500, 3000);
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ilmenite, 2L), null, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titanium, 1L), 800, 120, 1700);
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Ilmenite, 2L), null, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titanium, 1L), 640, 120, 1700);
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Galena, 2L), null, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Lead, 1L), 400, 120, 1500);
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Galena, 2L), null, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Lead, 1L), 320, 120, 1500);
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnetite, 2L), null, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2L), 400, 120, 1000);
|
||||
// GregTech_API.sRecipeAdder.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Magnetite, 2L), null, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 2L), 320, 120, 1000);
|
||||
RecipeMaps.BLAST_FURNANCE.factory().minTemperature(1000).EUt(120).duration(500).input(OrePrefixes.ingot, Materials.Iron).input(OrePrefixes.gem, Materials.Coal, 2).outputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2L)).buildAndRegister();
|
||||
RecipeMaps.BLAST_FURNANCE.factory().minTemperature(1100).EUt(120).duration(500).input(OrePrefixes.ingot, Materials.ShadowIron, 1).input(OrePrefixes.gem, Materials.Coal, 2).outputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.ShadowSteel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2L)).buildAndRegister();
|
||||
RecipeMaps.BLAST_FURNANCE.factory().minTemperature(1200).EUt(120).duration(500).input(OrePrefixes.ingot, Materials.MeteoricIron, 1).input(OrePrefixes.gem, Materials.Coal, 2).outputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.MeteoricSteel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2L)).buildAndRegister();
|
||||
RecipeMaps.BLAST_FURNANCE.factory().minTemperature(3000).EUt(500).duration(500).input(OrePrefixes.ingot, Materials.Tungsten).input(OrePrefixes.ingot, Materials.Steel).outputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.TungstenSteel, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 4L)).buildAndRegister();
|
||||
RecipeMaps.BLAST_FURNANCE.factory().minTemperature(1700).EUt(120).duration(800).input(OrePrefixes.dust, Materials.Ilmenite, 2).outputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titanium, 1L)).buildAndRegister();
|
||||
// RecipeMaps.BLAST_FURNANCE.factory().minTemperature(1700).EUt(120).duration(640).input(OrePrefixes.gem, Materials.Ilmenite, 2).outputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titanium, 1L)).buildAndRegister();
|
||||
RecipeMaps.BLAST_FURNANCE.factory().minTemperature(1500).EUt(120).duration(400).input(OrePrefixes.dust, Materials.Galena, 2).outputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Lead, 1L)).buildAndRegister();
|
||||
// RecipeMaps.BLAST_FURNANCE.factory().minTemperature(1500).EUt(120).duration(320).input(OrePrefixes.gem, Materials.Galena, 2).outputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Lead, 1L)).buildAndRegister();
|
||||
RecipeMaps.BLAST_FURNANCE.factory().minTemperature(1000).EUt(120).duration(400).input(OrePrefixes.dust, Materials.Magnetite, 2).outputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2)).buildAndRegister();
|
||||
// RecipeMaps.BLAST_FURNANCE.factory().minTemperature(1000).EUt(120).duration(320).input(OrePrefixes.gem, Materials.Magnetite, 2).outputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 2)).buildAndRegister();
|
||||
|
||||
RecipeMaps.CANINNING.factory().EUt(2).duration( 100).inputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Mercury , 1), GT_Items.Battery_Hull_LV.get(1)).outputs(GT_Items.Battery_SU_LV_Mercury .getWithCharge(1, Integer.MAX_VALUE), GT_Items.Cell_Empty.get( 1)).buildAndRegister();
|
||||
RecipeMaps.CANINNING.factory().EUt(2).duration( 400).inputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricAcid , 4), GT_Items.Battery_Hull_MV.get(1)).outputs(GT_Items.Battery_SU_MV_SulfuricAcid .getWithCharge(1, Integer.MAX_VALUE), GT_Items.Cell_Empty.get( 4)).buildAndRegister();
|
||||
RecipeMaps.CANINNING.factory().EUt(2).duration( 400).inputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Mercury , 4), GT_Items.Battery_Hull_MV.get(1)).outputs(GT_Items.Battery_SU_MV_Mercury .getWithCharge(1, Integer.MAX_VALUE), GT_Items.Cell_Empty.get( 4)).buildAndRegister();
|
||||
|
|
|
@ -20,11 +20,11 @@ import net.minecraft.util.StatCollector;
|
|||
public class BlastRecipeHandler extends GT_RecipeHandler {
|
||||
|
||||
public class CachedBlastRecipe extends CachedGT_Recipe {
|
||||
public int mStartEU;
|
||||
public int minTemp;
|
||||
|
||||
public CachedBlastRecipe(Recipe aRecipe) {
|
||||
super(aRecipe);
|
||||
mStartEU = aRecipe.getEUtoStart();
|
||||
minTemp = ((Integer)aRecipe.getMeta("minTemp")).intValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -87,7 +87,7 @@ public class BlastRecipeHandler extends GT_RecipeHandler {
|
|||
drawText(30, 80, I18n.format("nei.extras.eu_total", GT_Utility.parseNumberToString(time * ((CachedBlastRecipe)arecipes.get(recipe)).mEUt)), 0xFF000000, false);
|
||||
drawText(30, 90, I18n.format("nei.extras.time", GT_Utility.parseNumberToString(time * 1.0D / 20.0D)), 0xFF000000, false);
|
||||
drawText(30,100, I18n.format("nei.extras.eut", GT_Utility.parseNumberToString(((CachedBlastRecipe)arecipes.get(recipe)).mEUt)), 0xFF000000, false);
|
||||
drawText(30,110, I18n.format("nei.blast_furnance.info", GT_Utility.parseNumberToString(((CachedBlastRecipe)arecipes.get(recipe)).mStartEU)), 0xFF000000, false);
|
||||
drawText(30,110, I18n.format("nei.blast_furnance.info", GT_Utility.parseNumberToString(((CachedBlastRecipe)arecipes.get(recipe)).minTemp)), 0xFF000000, false);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue