diff --git a/src/main/java/gregtechmod/api/recipe/RecipeFactory.java b/src/main/java/gregtechmod/api/recipe/RecipeFactory.java index d7ae378..3153115 100644 --- a/src/main/java/gregtechmod/api/recipe/RecipeFactory.java +++ b/src/main/java/gregtechmod/api/recipe/RecipeFactory.java @@ -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> { public abstract RecipeFactory inputs(ItemStack...stacks); + public abstract RecipeFactory input(OrePrefixes prefix, Materials material, int count); + + public RecipeFactory input(OrePrefixes prefix, Materials material) { + this.input(prefix, material, 1); + return this; + } + public RecipeFactory input(String oreDict) { return this.input(oreDict, 1); } diff --git a/src/main/java/gregtechmod/common/containers/GT_Container_BlastFurnace.java b/src/main/java/gregtechmod/common/containers/GT_Container_BlastFurnace.java index df05a44..f9cdea4 100644 --- a/src/main/java/gregtechmod/common/containers/GT_Container_BlastFurnace.java +++ b/src/main/java/gregtechmod/common/containers/GT_Container_BlastFurnace.java @@ -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; diff --git a/src/main/java/gregtechmod/common/recipe/RecipeMaps.java b/src/main/java/gregtechmod/common/recipe/RecipeMaps.java index 9c744ed..325fc4b 100644 --- a/src/main/java/gregtechmod/common/recipe/RecipeMaps.java +++ b/src/main/java/gregtechmod/common/recipe/RecipeMaps.java @@ -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 FUSION_REACTOR = new RecipeMap<>(0, 0, 0, 0, 2, 2, 1, 1, new SimpleRecipeFactory()); - public static final RecipeMap CENTRIFUGE = new RecipeMap<>(0, 2, 1, 4, 0, 1, 0, 0, new SimpleRecipeFactory()); - public static final RecipeMap ELECTROLYZER = new RecipeMap<>(0, 2, 1, 4, 0, 1, 0, 0, new SimpleRecipeFactory()); - public static final RecipeMap GRINDER = new RecipeMap<>(1, 2, 1, 4, new SimpleRecipeFactory()); // TODO multiblocks! - public static final RecipeMap BLAST_FURNANCE = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); // - public static final RecipeMap IMPLOSION_COMPRESSOR = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); // - public static final RecipeMap SAWMILL = new RecipeMap<>(1, 2, 1, 3, new SimpleRecipeFactory()); // - public static final RecipeMap VACUUM_FREEZER = new RecipeMap<>(1, 1, 1, 1, new SimpleRecipeFactory()); // ----------------- - public static final RecipeMap CHEMICAL = new RecipeMap<>(1, 2, 1, 1, new SimpleRecipeFactory()); - public static final RecipeMap DISTILLATION = new RecipeMap<>(1, 2, 1, 4, new SimpleRecipeFactory()); - public static final RecipeMap WIREMILL = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); - public static final RecipeMap BENDING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); - public static final RecipeMap ALLOY_SMELTING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); - public static final RecipeMap ASSEMBLING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); - public static final RecipeMap CANINNING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); - public static final RecipeMap LATHE = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); - public static final RecipeMap CUTTING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); - public static final RecipeMap EXTRUDING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); - public static final RecipeMap 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 FUSION_REACTOR = new RecipeMap<>(0, 0, 0, 0, 2, 2, 1, 1, new SimpleRecipeFactory()); + public static final RecipeMap CENTRIFUGE = new RecipeMap<>(0, 2, 1, 4, 0, 1, 0, 0, new SimpleRecipeFactory()); + public static final RecipeMap ELECTROLYZER = new RecipeMap<>(0, 2, 1, 4, 0, 1, 0, 0, new SimpleRecipeFactory()); + public static final RecipeMap GRINDER = new RecipeMap<>(1, 2, 1, 4, new SimpleRecipeFactory()); // TODO multiblocks! + public static final RecipeMap BLAST_FURNANCE = new RecipeMap<>(1, 2, 1, 2, new BlastFurnanceRecipeFactory()); // + public static final RecipeMap IMPLOSION_COMPRESSOR= new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); // + public static final RecipeMap SAWMILL = new RecipeMap<>(1, 2, 1, 3, new SimpleRecipeFactory()); // + public static final RecipeMap VACUUM_FREEZER = new RecipeMap<>(1, 1, 1, 1, new SimpleRecipeFactory()); // ----------------- + public static final RecipeMap CHEMICAL = new RecipeMap<>(1, 2, 1, 1, new SimpleRecipeFactory()); + public static final RecipeMap DISTILLATION = new RecipeMap<>(1, 2, 1, 4, new SimpleRecipeFactory()); + public static final RecipeMap WIREMILL = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); + public static final RecipeMap BENDING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); + public static final RecipeMap ALLOY_SMELTING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); + public static final RecipeMap ASSEMBLING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); + public static final RecipeMap CANINNING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); + public static final RecipeMap LATHE = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); + public static final RecipeMap CUTTING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); + public static final RecipeMap EXTRUDING = new RecipeMap<>(1, 2, 1, 2, new SimpleRecipeFactory()); + public static final RecipeMap 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 DIESEL_FUELS = new RecipeMap<>(0, 1, 0, 1, 1, 1, 0, 0, new GeneratorRecipeFactory()); // TODO generators recipemaps public static final RecipeMap TURBINE_FUELS = new RecipeMap<>(0, 1, 0, 1, 1, 1, 0, 0, new GeneratorRecipeFactory()); diff --git a/src/main/java/gregtechmod/common/recipe/UnifierRecipeEntry.java b/src/main/java/gregtechmod/common/recipe/UnifierRecipeEntry.java new file mode 100644 index 0000000..98958b8 --- /dev/null +++ b/src/main/java/gregtechmod/common/recipe/UnifierRecipeEntry.java @@ -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 getVariants() { + List 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; + } +} diff --git a/src/main/java/gregtechmod/common/recipe/factory/BlastFurnanceRecipeFactory.java b/src/main/java/gregtechmod/common/recipe/factory/BlastFurnanceRecipeFactory.java new file mode 100644 index 0000000..0984cae --- /dev/null +++ b/src/main/java/gregtechmod/common/recipe/factory/BlastFurnanceRecipeFactory.java @@ -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 { + + private int minTemp = -1; + + public BlastFurnanceRecipeFactory() {} + + public BlastFurnanceRecipeFactory(RecipeMap 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 vals = new ArrayList() {{ + 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()); + } + +} diff --git a/src/main/java/gregtechmod/common/recipe/factory/GeneratorRecipeFactory.java b/src/main/java/gregtechmod/common/recipe/factory/GeneratorRecipeFactory.java index affde17..1b06980 100644 --- a/src/main/java/gregtechmod/common/recipe/factory/GeneratorRecipeFactory.java +++ b/src/main/java/gregtechmod/common/recipe/factory/GeneratorRecipeFactory.java @@ -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 { @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 { 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()); } diff --git a/src/main/java/gregtechmod/common/tileentities/machines/multi/GT_MetaTileEntity_BlastFurnace.java b/src/main/java/gregtechmod/common/tileentities/machines/multi/GT_MetaTileEntity_BlastFurnace.java index 3187c1f..7c10908 100644 --- a/src/main/java/gregtechmod/common/tileentities/machines/multi/GT_MetaTileEntity_BlastFurnace.java +++ b/src/main/java/gregtechmod/common/tileentities/machines/multi/GT_MetaTileEntity_BlastFurnace.java @@ -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 diff --git a/src/main/java/gregtechmod/common/tileentities/machines/steam/GT_MetaTileEntity_Boiler_Bronze.java b/src/main/java/gregtechmod/common/tileentities/machines/steam/GT_MetaTileEntity_Boiler_Bronze.java index ed08260..e3e5764 100644 --- a/src/main/java/gregtechmod/common/tileentities/machines/steam/GT_MetaTileEntity_Boiler_Bronze.java +++ b/src/main/java/gregtechmod/common/tileentities/machines/steam/GT_MetaTileEntity_Boiler_Bronze.java @@ -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) { diff --git a/src/main/java/gregtechmod/common/tileentities/machines/steam/GT_MetaTileEntity_Boiler_Steel.java b/src/main/java/gregtechmod/common/tileentities/machines/steam/GT_MetaTileEntity_Boiler_Steel.java index 8ae455e..825e89d 100644 --- a/src/main/java/gregtechmod/common/tileentities/machines/steam/GT_MetaTileEntity_Boiler_Steel.java +++ b/src/main/java/gregtechmod/common/tileentities/machines/steam/GT_MetaTileEntity_Boiler_Steel.java @@ -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) { diff --git a/src/main/java/gregtechmod/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtechmod/loaders/postload/GT_MachineRecipeLoader.java index 86ceaee..8fe7eeb 100644 --- a/src/main/java/gregtechmod/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtechmod/loaders/postload/GT_MachineRecipeLoader.java @@ -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(); diff --git a/src/main/java/gregtechmod/mistaqur/nei/BlastRecipeHandler.java b/src/main/java/gregtechmod/mistaqur/nei/BlastRecipeHandler.java index 79f0bd2..e1927f6 100644 --- a/src/main/java/gregtechmod/mistaqur/nei/BlastRecipeHandler.java +++ b/src/main/java/gregtechmod/mistaqur/nei/BlastRecipeHandler.java @@ -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); } }