diff options
Diffstat (limited to 'src/main/java')
8 files changed, 210 insertions, 364 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java b/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java index 69f87161d1..bbc2fd4ada 100644 --- a/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java +++ b/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java @@ -18,7 +18,13 @@ public interface IGT_RecipeMap { /** * Add a downstream recipe map that will get to handle the original builder. - * + * + * Downstream recipe maps got passed the recipe builder after parent recipe map is done with its business. Notice + * at this time the original recipe builder might be modified by the parent recipe map in some form, but it will + * remain as valid. + * + * A downstream will only be invoked if parent recipe map added something. + * * @param downstream */ void addDownstream(IGT_RecipeMap downstream); @@ -53,9 +59,13 @@ public interface IGT_RecipeMap { @Override public Collection<GT_Recipe> doAdd(GT_RecipeBuilder builder) { List<Collection<GT_Recipe>> ret = new ArrayList<>(); - ret.add(func.apply(builder)); - for (IGT_RecipeMap downstream : downstreams) { - ret.add(downstream.doAdd(builder)); + Collection<GT_Recipe> out = func.apply(builder); + ret.add(out); + builder.clearInvalid(); + if (!out.isEmpty()) { + for (IGT_RecipeMap downstream : downstreams) { + ret.add(downstream.doAdd(builder)); + } } return GT_Utility.concat(ret); } diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index b5603619af..ba78931129 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -1344,6 +1344,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> { true).setSlotOverlay(false, false, true, true, GT_UITextures.OVERLAY_SLOT_DATA_ORB) .setUsualFluidInputCount(4) .setDisableOptimize(true); + /** + * Usually, but not always, you should use {@link GT_RecipeConstants#UniversalArcFurnace} instead. + */ public static final GT_Recipe_Map sPlasmaArcFurnaceRecipes = new GT_Recipe_Map( new HashSet<>(20000), "gt.recipe.plasmaarcfurnace", @@ -1361,6 +1364,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> { true, true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT) .setRecipeConfigFile("arcfurnace", FIRST_ITEM_INPUT); + /** + * Usually, but not always, you should use {@link GT_RecipeConstants#UniversalArcFurnace} instead. + */ public static final GT_Recipe_Map sArcFurnaceRecipes = new GT_Recipe_Map( new HashSet<>(20000), "gt.recipe.arcfurnace", @@ -1801,6 +1807,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> { true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_BOXED) .setRecipeConfigFile("unboxing", FIRST_ITEM_OUTPUT) .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT); + /** + * Usually, but not always, you should use {@link GT_RecipeConstants#Fusion} instead. + */ public static final GT_Recipe_Map sFusionRecipes = new GT_Recipe_Map_FluidOnly( new HashSet<>(50), "gt.recipe.fusionreactor", @@ -1822,6 +1831,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> { .setRecipeConfigFile("fusion", FIRST_FLUID_OUTPUT) .setDisableOptimize(true) .setNEISpecialInfoFormatter(FusionSpecialValueFormatter.INSTANCE); + /** + * Usually, but not always, you should use {@link GT_RecipeConstants#Fusion} instead. + */ public static final GT_Recipe_Map sComplexFusionRecipes = new GT_Recipe_Map_ComplexFusion( new HashSet<>(50), "gt.recipe.complexfusionreactor", @@ -1885,7 +1897,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { .setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_CHARGER_FLUID) .setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT, ProgressBar.Direction.RIGHT); /** - * Use special value as coil heat level. + * Use {@link GT_RecipeConstants#COIL_HEAT} as heat level. */ public static final GT_Recipe_Map sBlastRecipes = new GT_Recipe_Map( new HashSet<>(800), @@ -1906,7 +1918,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { .setRecipeConfigFile("blastfurnace", FIRST_ITEM_INPUT) .setNEISpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE); /** - * Use special value as coil heat level. + * Use {@link GT_RecipeConstants#COIL_HEAT} as heat level. */ public static final GT_Recipe_Map sPlasmaForgeRecipes = new GT_Recipe_Map_LargeNEI( new HashSet<>(20), @@ -2137,6 +2149,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> { } } + /** + * Uses {@link GT_RecipeConstants#ADDITIVE_AMOUNT} for coal/charcoal amount. + */ public static final GT_Recipe_Map sPrimitiveBlastRecipes = new GT_Recipe_Map( new HashSet<>(200), "gt.recipe.primitiveblastfurnace", @@ -2231,6 +2246,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> { return coll.getAll(); }) .setRecipeConfigFile("primitiveblastfurnace", FIRST_ITEM_INPUT); + /** + * Uses {@link GT_RecipeConstants#ADDITIVE_AMOUNT} for TNT/ITNT/... amount. Value is truncated to [0, 64] + */ public static final GT_Recipe_Map sImplosionRecipes = new GT_Recipe_Map( new HashSet<>(900), "gt.recipe.implosioncompressor", @@ -2326,6 +2344,10 @@ public class GT_Recipe implements Comparable<GT_Recipe> { return buildOrEmpty(b); }) .setUsualFluidInputCount(2); + /** + * using {@code .addTo(sChemicalRecipes)} will cause the recipe to be added to single block recipe map ONLY! + * use {@link GT_RecipeConstants#UniversalChemical} to add to both. + */ public static final GT_Recipe_Map sChemicalRecipes = new GT_Recipe_Map( new HashSet<>(1170), "gt.recipe.chemicalreactor", @@ -2348,31 +2370,29 @@ public class GT_Recipe implements Comparable<GT_Recipe> { .setSlotOverlay(true, true, GT_UITextures.OVERLAY_SLOT_VIAL_2) .setRecipeConfigFile("chemicalreactor", FIRST_ITEM_OR_FLUID_OUTPUT) .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT); - public static final GT_Recipe_Map sMultiblockChemicalRecipes = new GT_Recipe_Map_LargeChemicalReactor().setProgressBar( - GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, - ProgressBar.Direction.RIGHT) - .setUsualFluidInputCount( - 6) - .setUsualFluidOutputCount( - 6); - public static final GT_Recipe_Map sDistillationRecipes = new GT_Recipe_Map_DistillationTower().setRecipeConfigFile( - "distillation", - FIRST_FLUIDSTACK_INPUT) - .setProgressBar( - GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, - ProgressBar.Direction.RIGHT) - .setUsualFluidOutputCount( - 11) - .setDisableOptimize( - true); - public static final GT_Recipe_Map_OilCracker sCrackingRecipes = (GT_Recipe_Map_OilCracker) new GT_Recipe_Map_OilCracker().setRecipeConfigFile( - "cracking", - FIRST_FLUIDSTACK_INPUT) - .setProgressBar( - GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, - ProgressBar.Direction.RIGHT) - .setUsualFluidInputCount( - 2); + /** + * using {@code .addTo(sChemicalRecipes)} will cause the recipe to be added to multiblock recipe map ONLY! + * use {@link GT_RecipeConstants#UniversalChemical} to add to both. + */ + public static final GT_Recipe_Map sMultiblockChemicalRecipes = // + new GT_Recipe_Map_LargeChemicalReactor().setProgressBar( + GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, + ProgressBar.Direction.RIGHT) + .setUsualFluidInputCount(6) + .setUsualFluidOutputCount(6); + public static final GT_Recipe_Map sDistillationRecipes = // + new GT_Recipe_Map_DistillationTower().setRecipeConfigFile("distillation", FIRST_FLUIDSTACK_INPUT) + .setProgressBar( + GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, + ProgressBar.Direction.RIGHT) + .setUsualFluidOutputCount(11) + .setDisableOptimize(true); + public static final GT_Recipe_Map_OilCracker sCrackingRecipes = (GT_Recipe_Map_OilCracker) // + new GT_Recipe_Map_OilCracker().setRecipeConfigFile("cracking", FIRST_FLUIDSTACK_INPUT) + .setProgressBar( + GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, + ProgressBar.Direction.RIGHT) + .setUsualFluidInputCount(2); /** * @deprecated Use sCrackingRecipes instead */ @@ -3782,6 +3802,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { ret.add(add(r)); } if (!ret.isEmpty()) { + builder.clearInvalid(); for (IGT_RecipeMap downstream : downstreams) { downstream.doAdd(builder); } diff --git a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java index eeeb60de94..6835f4d0eb 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java +++ b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java @@ -466,7 +466,7 @@ public class GT_RecipeBuilder { * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code. */ public GT_RecipeBuilder validateNoInputFluid() { - return GT_Utility.isArrayEmptyOrNull(fluidInputs) ? noItemInputs() : invalidate(); + return GT_Utility.isArrayEmptyOrNull(fluidInputs) ? noFluidInputs() : invalidate(); } /** @@ -482,7 +482,7 @@ public class GT_RecipeBuilder { * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code. */ public GT_RecipeBuilder validateNoOutputFluid() { - return GT_Utility.isArrayEmptyOrNull(fluidOutputs) ? noItemInputs() : invalidate(); + return GT_Utility.isArrayEmptyOrNull(fluidOutputs) ? noFluidOutputs() : invalidate(); } /** diff --git a/src/main/java/gregtech/api/util/GT_RecipeConstants.java b/src/main/java/gregtech/api/util/GT_RecipeConstants.java index 206cb38118..5c619d5fba 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeConstants.java +++ b/src/main/java/gregtech/api/util/GT_RecipeConstants.java @@ -80,6 +80,10 @@ public class GT_RecipeConstants { Object.class, "oredict_input"); + /** + * Add fusion recipes. Dispatcher between complex fusion (which accepts arbitrarily many input/outputs) and classic + * fusion (2 in 1 out). + */ public static final IGT_RecipeMap Fusion = IGT_RecipeMap.newRecipeMap(builder -> { if (GT_Utility.isArrayEmptyOrNull(builder.getFluidInputs()) || GT_Utility.isArrayEmptyOrNull(builder.getFluidOutputs())) @@ -89,6 +93,10 @@ public class GT_RecipeConstants { return GT_Recipe_Map.sFusionRecipes.doAdd(builder); }); + /** + * Add a arc furnace recipe. Adds to both normal arc furnace and plasma arc furnace. + * Will override the fluid input with oxygen/plasma for the respective recipe maps, so there is no point setting it. + */ public static final IGT_RecipeMap UniversalArcFurnace = IGT_RecipeMap.newRecipeMap(builder -> { if (!GT_Utility.isArrayOfLength(builder.getItemInputsBasic(), 1) || GT_Utility.isArrayEmptyOrNull(builder.getItemOutputs())) @@ -113,6 +121,9 @@ public class GT_RecipeConstants { return ret; }); + /** + * Add a chemical reactor recipe to both LCR and singleblocks. + */ public static final IGT_RecipeMap UniversalChemical = IGT_RecipeMap.newRecipeMap(builder -> { for (ItemStack input : builder.getItemInputsBasic()) { if (GT_Utility.isAnyIntegratedCircuit(input) && input.getItemDamage() >= 10) return GT_Utility.concat( @@ -125,6 +136,11 @@ public class GT_RecipeConstants { return builder.addTo(GT_Recipe_Map.sChemicalRecipes); }); + /** + * The one and only :tm: assline recipe adder. + * Uses {@link #RESEARCH_ITEM} metadata as research item, and {@link #RESEARCH_TIME} metadata as research time, unit + * in ticks. + */ public static final IGT_RecipeMap AssemblyLine = IGT_RecipeMap.newRecipeMap(builder -> { Optional<GT_Recipe.GT_Recipe_WithAlt> rr = builder.forceOreDictInput() .validateInputCount(4, 16) @@ -219,6 +235,10 @@ public class GT_RecipeConstants { return ret; }); + /** + * Just like any normal assembler recipe, however it accepts one input item to be oredicted. Pass in the item to + * oredict via {@link #OREDICT_INPUT}. It will be used along all other item inputs as input of this recipe. + */ public static IGT_RecipeMap AssemblerOD = IGT_RecipeMap.newRecipeMap(builder -> { Collection<GT_Recipe> ret = new ArrayList<>(); for (ItemStack input : GT_OreDictUnificator.getOresImmutable(builder.getMetadata(OREDICT_INPUT))) { @@ -230,6 +250,12 @@ public class GT_RecipeConstants { return ret; }); + /** + * A universal fuel adder. It's actually just a dispatcher towards all actual fuel recipe maps. + * Dispatch based on {@link #FUEL_TYPE}. Uses {@link #FUEL_VALUE} as fuel value. + * Can use {@link FuelType#ordinal()} as a human-readable form of what FUEL_TYPE should be. + * You can bypass this and add to relevant fuel maps directly if you wish. + */ public static IGT_RecipeMap Fuel = IGT_RecipeMap.newRecipeMap(builder -> { builder.validateInputCount(1, 1) .validateNoInputFluid() diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java index 1cf5de780e..5d4d624513 100644 --- a/src/main/java/gregtech/common/items/ItemComb.java +++ b/src/main/java/gregtech/common/items/ItemComb.java @@ -32,7 +32,6 @@ import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gregtech.common.render.items.GT_GeneratedMaterial_Renderer; -import gregtech.loaders.materialprocessing.ProcessingModSupport; import gregtech.loaders.misc.GT_Bees; public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { @@ -852,45 +851,26 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { Voltage.ULV, NI, 30 * 100); - if (ProcessingModSupport.aEnableGCMarsMats) { - addCentrifugeToMaterial( - CombType.IRON, - new Materials[] { Materials.Iron, Materials.Magnetite, Materials.BrownLimonite, - Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.MeteoricIron }, - new int[] { 100 * 100, 90 * 100, 85 * 100, 85 * 100, 80 * 100, 75 * 100 }, - new int[] {}, - Voltage.ULV, - NI, - 30 * 100); - addCentrifugeToMaterial( - CombType.LEAD, - new Materials[] { Materials.Steel, Materials.Magnetite, Materials.VanadiumMagnetite, - Materials.Molybdenite, Materials.Molybdenum, Materials.MeteoricIron }, - new int[] { 100 * 100, 90 * 100, 80 * 100, 65 * 100, 65 * 100, 75 * 100 }, - new int[] {}, - Voltage.ULV, - NI, - 30 * 100); - } else { - addCentrifugeToMaterial( - CombType.IRON, - new Materials[] { Materials.Iron, Materials.Magnetite, Materials.BrownLimonite, - Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.BandedIron }, - new int[] { 100 * 100, 90 * 100, 85 * 100, 85 * 100, 80 * 100, 85 * 100 }, - new int[] {}, - Voltage.ULV, - NI, - 30 * 100); - addCentrifugeToMaterial( - CombType.STEEL, - new Materials[] { Materials.Steel, Materials.Magnetite, Materials.VanadiumMagnetite, - Materials.BandedIron, Materials.Molybdenite, Materials.Molybdenum }, - new int[] { 100 * 100, 90 * 100, 80 * 100, 85 * 100, 65 * 100, 65 * 100 }, - new int[] {}, - Voltage.ULV, - NI, - 30 * 100); - } + + addCentrifugeToMaterial( + CombType.IRON, + new Materials[] { Materials.Iron, Materials.Magnetite, Materials.BrownLimonite, + Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.MeteoricIron }, + new int[] { 100 * 100, 90 * 100, 85 * 100, 85 * 100, 80 * 100, 75 * 100 }, + new int[] {}, + Voltage.ULV, + NI, + 30 * 100); + addCentrifugeToMaterial( + CombType.LEAD, + new Materials[] { Materials.Steel, Materials.Magnetite, Materials.VanadiumMagnetite, + Materials.Molybdenite, Materials.Molybdenum, Materials.MeteoricIron }, + new int[] { 100 * 100, 90 * 100, 80 * 100, 65 * 100, 65 * 100, 75 * 100 }, + new int[] {}, + Voltage.ULV, + NI, + 30 * 100); + addCentrifugeToMaterial( CombType.NICKEL, new Materials[] { Materials.Nickel, Materials.Garnierite, Materials.Pentlandite, diff --git a/src/main/java/gregtech/loaders/materialprocessing/ProcessingModSupport.java b/src/main/java/gregtech/loaders/materialprocessing/ProcessingModSupport.java index e876252137..2ed494d0c0 100644 --- a/src/main/java/gregtech/loaders/materialprocessing/ProcessingModSupport.java +++ b/src/main/java/gregtech/loaders/materialprocessing/ProcessingModSupport.java @@ -7,17 +7,7 @@ import gregtech.api.enums.OrePrefixes; public class ProcessingModSupport implements gregtech.api.interfaces.IMaterialHandler { - public static boolean aTGregSupport = TinkersGregworks.isModLoaded() || NewHorizonsCoreMod.isModLoaded(); - public static boolean aEnableUBCMats = UndergroundBiomes.isModLoaded() || aTGregSupport; - public static boolean aEnableThaumcraftMats = Thaumcraft.isModLoaded() || aTGregSupport; - public static boolean aEnableRotaryCraftMats = RotaryCraft.isModLoaded() || aTGregSupport; - public static boolean aEnableThermalFoundationMats = ThermalFondation.isModLoaded() || aTGregSupport; - public static boolean aEnableEnderIOMats = EnderIO.isModLoaded() || aTGregSupport; - public static boolean aEnableRailcraftMats = Railcraft.isModLoaded() || aTGregSupport; - public static boolean aEnableGCMarsMats = GalacticraftMars.isModLoaded() || aTGregSupport; - public static boolean aEnableTwilightMats = TwilightForest.isModLoaded() || aTGregSupport; - public static boolean aEnableMetallurgyMats = Metallurgy.isModLoaded() || aTGregSupport; - public static boolean aEnableProjectRedMats = ProjectRedCore.isModLoaded() || aTGregSupport; + public static boolean aEnableThaumcraftMats = true; public ProcessingModSupport() { Materials.add(this); @@ -26,35 +16,7 @@ public class ProcessingModSupport implements gregtech.api.interfaces.IMaterialHa @Override public void onMaterialsInit() { // Disable Materials if Parent Mod is not loaded - if (!aTGregSupport) { - Materials.Dysprosium.mHasParentMod = false; - Materials.Erbium.mHasParentMod = false; - Materials.Gadolinium.mHasParentMod = false; - Materials.Holmium.mHasParentMod = false; - Materials.Indium.mHasParentMod = false; - Materials.Lanthanum.mHasParentMod = false; - Materials.Praseodymium.mHasParentMod = false; - Materials.Promethium.mHasParentMod = false; - Materials.Rubidium.mHasParentMod = false; - Materials.Samarium.mHasParentMod = false; - Materials.SamariumMagnetic.mHasParentMod = false; - Materials.Scandium.mHasParentMod = false; - Materials.Strontium.mHasParentMod = false; - Materials.Tellurium.mHasParentMod = false; - Materials.Terbium.mHasParentMod = false; - Materials.Thulium.mHasParentMod = false; - Materials.Ytterbium.mHasParentMod = false; - Materials.HeeEndium.mHasParentMod = false; - Materials.DarkIron.mHasParentMod = false; - Materials.ElectrumFlux.mHasParentMod = false; - Materials.Force.mHasParentMod = false; - // Materials.Nikolite.mHasParentMod = false; - Materials.Sunnarium.mHasParentMod = false; - Materials.BlueAlloy.mHasParentMod = false; - Materials.Vinteum.mHasParentMod = false; - Materials.ChromiumDioxide.mHasParentMod = false; - } - if (!aEnableMetallurgyMats) { + if (!Metallurgy.isModLoaded()) { Materials.Angmallen.mHasParentMod = false; Materials.Atlarus.mHasParentMod = false; Materials.Carmot.mHasParentMod = false; @@ -83,20 +45,8 @@ public class ProcessingModSupport implements gregtech.api.interfaces.IMaterialHa Materials.AstralSilver.mHasParentMod = false; Materials.Trinium.mHasParentMod = false; } - if (!aEnableThaumcraftMats) { - Materials.Amber.mHasParentMod = false; - Materials.Thaumium.mHasParentMod = false; - Materials.InfusedGold.mHasParentMod = false; - Materials.InfusedAir.mHasParentMod = false; - Materials.InfusedFire.mHasParentMod = false; - Materials.InfusedEarth.mHasParentMod = false; - Materials.InfusedWater.mHasParentMod = false; - Materials.InfusedEntropy.mHasParentMod = false; - Materials.InfusedOrder.mHasParentMod = false; - Materials.InfusedVis.mHasParentMod = false; - Materials.InfusedDull.mHasParentMod = false; - } - if (!aEnableUBCMats) { + + if (!UndergroundBiomes.isModLoaded()) { Materials.Blueschist.mHasParentMod = false; Materials.Chert.mHasParentMod = false; Materials.Dacite.mHasParentMod = false; @@ -108,50 +58,23 @@ public class ProcessingModSupport implements gregtech.api.interfaces.IMaterialHa Materials.Komatiite.mHasParentMod = false; Materials.Rhyolite.mHasParentMod = false; } - if (!aEnableTwilightMats) { - Materials.FierySteel.mHasParentMod = false; - Materials.LiveRoot.mHasParentMod = false; - Materials.IronWood.mHasParentMod = false; - Materials.Steeleaf.mHasParentMod = false; - Materials.Knightmetal.mHasParentMod = false; - } - if (!aEnableGCMarsMats) { - Materials.Desh.mHasParentMod = false; - Materials.MeteoricIron.mHasParentMod = false; - Materials.MeteoricSteel.mHasParentMod = false; - } - if (!aEnableThermalFoundationMats) { - Materials.Blizz.mHasParentMod = false; - Materials.Enderium.mHasParentMod = false; - } - if (!aEnableRotaryCraftMats) { + if (!RotaryCraft.isModLoaded()) { Materials.HSLA.mHasParentMod = false; } - if (!aEnableEnderIOMats) { - Materials.DarkSteel.mHasParentMod = false; - } - if (!aEnableRailcraftMats) { - Materials.Firestone.mHasParentMod = false; - } - if (!aEnableProjectRedMats) { - Materials.Electrotine.mHasParentMod = false; - } - // Enable Materials if correct mod is Loaded - Materials.ChromiumDioxide.mHasParentMod = Computronics.isModLoaded(); } @Override public void onComponentInit() { - if (Computronics.isModLoaded()) { - OrePrefixes.ring.enableComponent(Materials.RedAlloy); - OrePrefixes.ring.enableComponent(Materials.NiobiumTitanium); - OrePrefixes.foil.enableComponent(Materials.StainlessSteel); - OrePrefixes.foil.enableComponent(Materials.ChromiumDioxide); - OrePrefixes.foil.enableComponent(Materials.Iron); - OrePrefixes.plate.enableComponent(Materials.ChromiumDioxide); - OrePrefixes.screw.enableComponent(Materials.Copper); - } + + OrePrefixes.ring.enableComponent(Materials.RedAlloy); + OrePrefixes.ring.enableComponent(Materials.NiobiumTitanium); + OrePrefixes.foil.enableComponent(Materials.StainlessSteel); + OrePrefixes.foil.enableComponent(Materials.ChromiumDioxide); + OrePrefixes.foil.enableComponent(Materials.Iron); + OrePrefixes.plate.enableComponent(Materials.ChromiumDioxide); + OrePrefixes.screw.enableComponent(Materials.Copper); + } @Override diff --git a/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java index bb2b0a89e9..779bd00d32 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java @@ -2,9 +2,9 @@ package gregtech.loaders.postload.recipes; import static gregtech.api.enums.ModIDs.Railcraft; import static gregtech.api.util.GT_ModHandler.getModItem; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.UniversalArcFurnace; import gregtech.api.enums.*; import gregtech.api.util.GT_OreDictUnificator; @@ -23,7 +23,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(8 * SECONDS) .eut(96) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Long_Distance_Pipeline_Fluid.get(1L)) @@ -32,7 +32,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(9 * SECONDS) .eut((int) TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Long_Distance_Pipeline_Item.get(1L)) @@ -43,7 +43,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(9 * SECONDS) .eut((int) TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Long_Distance_Pipeline_Fluid_Pipe.get(1L)) @@ -52,7 +52,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(10 * TICKS) .eut((int) TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Long_Distance_Pipeline_Item_Pipe.get(1L)) @@ -63,7 +63,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(10 * TICKS) .eut((int) TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_Cupronickel.get(1L)) @@ -75,7 +75,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_Kanthal.get(1L)) @@ -87,7 +87,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_Nichrome.get(1L)) @@ -99,7 +99,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_TungstenSteel.get(1L)) @@ -111,7 +111,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_HSSG.get(1L)) @@ -123,7 +123,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_HSSS.get(1L)) @@ -135,7 +135,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_Naquadah.get(1L)) @@ -147,7 +147,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_NaquadahAlloy.get(1L)) @@ -159,7 +159,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_Trinium.get(1L)) @@ -171,7 +171,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_ElectrumFlux.get(1L)) @@ -183,7 +183,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(ItemList.Casing_Coil_AwakenedDraconium.get(1L)) @@ -195,7 +195,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 0)) @@ -204,7 +204,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(7 * SECONDS + 10 * TICKS) .eut(90) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 1)) @@ -215,7 +215,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(7 * SECONDS + 10 * TICKS) .eut(90) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 2)) @@ -226,7 +226,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(7 * SECONDS + 10 * TICKS) .eut(90) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 13)) @@ -235,7 +235,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(9 * SECONDS) .eut((int) TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 14)) @@ -246,7 +246,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(9 * SECONDS) .eut((int) TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 15)) @@ -257,7 +257,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(9 * SECONDS) .eut((int) TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 0)) @@ -266,7 +266,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(10 * SECONDS + 10 * TICKS) .eut(150) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 1)) @@ -275,7 +275,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(10 * SECONDS + 10 * TICKS) .eut(150) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 2)) @@ -286,7 +286,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(10 * SECONDS + 10 * TICKS) .eut(150) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 3)) @@ -295,7 +295,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(12 * SECONDS) .eut(TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 4)) @@ -306,7 +306,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(12 * SECONDS) .eut(TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 5)) @@ -317,7 +317,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(12 * SECONDS) .eut(TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 6)) @@ -326,7 +326,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(13 * SECONDS + 10 * TICKS) .eut(210) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 7)) @@ -337,7 +337,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(13 * SECONDS + 10 * TICKS) .eut(210) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 8)) @@ -348,7 +348,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(13 * SECONDS + 10 * TICKS) .eut(210) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 9)) @@ -357,7 +357,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 10)) @@ -368,7 +368,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 11)) @@ -379,7 +379,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(15 * SECONDS) .eut(TierEU.RECIPE_MV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 12)) @@ -388,7 +388,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(16 * SECONDS + 10 * TICKS) .eut(270) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 13)) @@ -399,7 +399,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(16 * SECONDS + 10 * TICKS) .eut(270) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.zeta", 1L, 14)) @@ -410,7 +410,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(16 * SECONDS + 10 * TICKS) .eut(270) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.eta", 1L, 0)) @@ -419,7 +419,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(18 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.eta", 1L, 1)) @@ -430,7 +430,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(18 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.eta", 1L, 2)) @@ -441,7 +441,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(18 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.eta", 1L, 3)) @@ -450,7 +450,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(18 * SECONDS) .eut(330) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.eta", 1L, 4)) @@ -461,7 +461,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(18 * SECONDS) .eut(330) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.eta", 1L, 5)) @@ -472,7 +472,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(18 * SECONDS) .eut(330) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.eta", 1L, 6)) @@ -481,7 +481,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(18 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.eta", 1L, 7)) @@ -492,7 +492,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(18 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(getModItem(Railcraft.modID, "machine.eta", 1L, 8)) @@ -503,7 +503,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(18 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1L)) @@ -512,7 +512,7 @@ public class ArcFurnaceRecipes implements Runnable { .noFluidOutputs() .duration(60 * SECONDS) .eut((int) TierEU.RECIPE_LV) - .addTo(sArcFurnaceRecipes); + .addTo(UniversalArcFurnace); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java index df7f1e6f93..a34015e5e1 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java @@ -5,20 +5,15 @@ import static gregtech.api.util.GT_ModHandler.getModItem; import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes; import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes; import static gregtech.api.util.GT_RecipeBuilder.*; +import static gregtech.api.util.GT_RecipeConstants.ADDITIVE_AMOUNT; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; -import mods.railcraft.common.blocks.aesthetics.cube.EnumCube; -import mods.railcraft.common.items.RailcraftToolItems; - import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import org.apache.commons.lang3.ArrayUtils; - import gregtech.GT_Mod; import gregtech.api.enums.*; -import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; @@ -675,155 +670,46 @@ public class BlastFurnaceRecipes implements Runnable { } } - public void addPrimitiveBlastFurnaceRecipes(ItemStack[] inputs, int coalAmount, ItemStack[] outputs, int duration) { - // compute if it can make fuel block version of the recipes - boolean blockVersion = true; - for (ItemStack inputStack : inputs) { - if (inputStack.stackSize <= 6) { - blockVersion = false; - break; - } - } - - // skipping if it has been already set to false - if (blockVersion) { - for (ItemStack outputStack : outputs) { - if (outputStack.stackSize <= 6) { - blockVersion = false; - break; - } - } - } - - ItemStack[] inputsBlocks = new ItemStack[inputs.length]; - ItemStack[] outputsBlocks = new ItemStack[outputs.length]; - - // allocating the two arrays only if block version is possible - if (blockVersion) { - for (int i = 0; i < inputs.length; i++) { - ItemStack itemStack = inputs[i].copy(); - itemStack.stackSize *= 10; - inputsBlocks[i] = itemStack; - } - - for (int i = 0; i < outputs.length; i++) { - ItemStack itemStack = outputs[i].copy(); - itemStack.stackSize *= 10; - outputsBlocks[i] = itemStack; - } - } - - for (Materials coal : new Materials[] { Materials.Coal, Materials.Charcoal }) { - // coal as gems - GT_Values.RA.stdBuilder() - .itemInputs(ArrayUtils.add(inputs, coal.getGems(coalAmount))) - .itemOutputs(ArrayUtils.add(outputs, Materials.DarkAsh.getDustTiny(coalAmount))) - .noFluidInputs() - .noFluidOutputs() - .duration(duration) - .eut(0) - .addTo(sPrimitiveBlastRecipes); - - // coal as dust - GT_Values.RA.stdBuilder() - .itemInputs(ArrayUtils.add(inputs, coal.getDust(coalAmount))) - .itemOutputs(ArrayUtils.add(outputs, Materials.DarkAsh.getDustTiny(coalAmount))) - .noFluidInputs() - .noFluidOutputs() - .duration(duration) - .eut(0) - .addTo(sPrimitiveBlastRecipes); - - if (!blockVersion) { - continue; - } - - // coal as block - GT_Values.RA.stdBuilder() - .itemInputs(ArrayUtils.add(inputs, coal.getBlocks(coalAmount))) - .itemOutputs(ArrayUtils.add(outputs, Materials.DarkAsh.getDust(coalAmount))) - .noFluidInputs() - .noFluidOutputs() - .duration(duration * 10) - .eut(0) - .addTo(sPrimitiveBlastRecipes); - } - - if (Railcraft.isModLoaded()) { - // coal coke - GT_Values.RA.stdBuilder() - .itemInputs(ArrayUtils.add(inputs, RailcraftToolItems.getCoalCoke(coalAmount / 2))) - .itemOutputs(ArrayUtils.add(outputs, Materials.Ash.getDustTiny(coalAmount / 2))) - .noFluidInputs() - .noFluidOutputs() - .duration(duration * 2 / 3) - .eut(0) - .addTo(sPrimitiveBlastRecipes); - - // coal coke block - GT_Values.RA.stdBuilder() - .itemInputs(ArrayUtils.add(inputs, EnumCube.COKE_BLOCK.getItem(coalAmount / 2))) - .itemOutputs(ArrayUtils.add(outputs, Materials.Ash.getDust(coalAmount / 2))) - .noFluidInputs() - .noFluidOutputs() - .duration(duration * 10 * 2 / 3) - .eut(0) - .addTo(sPrimitiveBlastRecipes); - } + public void registerPrimitiveBlastFurnaceRecipes() { + GT_Values.RA.stdBuilder() - if (GTPlusPlus.isModLoaded()) { - // cactus coke - GT_Values.RA.stdBuilder() - .itemInputs( - ArrayUtils.add( - inputs, - GT_ModHandler.getModItem(GTPlusPlus.modID, "itemCactusCoke", coalAmount * 2))) - .itemOutputs(ArrayUtils.add(outputs, Materials.Ash.getDustTiny(coalAmount * 2))) - .noFluidInputs() - .noFluidOutputs() - .duration(duration * 2 / 3) - .eut(0) - .addTo(sPrimitiveBlastRecipes); + .itemInputs(Materials.Iron.getIngots(1)) + .itemOutputs(Materials.Steel.getIngots(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(6 * MINUTES) + .eut(0) + .metadata(ADDITIVE_AMOUNT, 4) + .addTo(sPrimitiveBlastRecipes); - // sugar coke - GT_Values.RA.stdBuilder() - .itemInputs( - ArrayUtils.add( - inputs, - GT_ModHandler.getModItem(GTPlusPlus.modID, "itemSugarCoke", (coalAmount * 2)))) - .itemOutputs(ArrayUtils.add(outputs, Materials.Ash.getDustTiny(coalAmount * 2))) - .noFluidInputs() - .noFluidOutputs() - .duration(duration * 2 / 3) - .eut(0) - .addTo(sPrimitiveBlastRecipes); - } + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Iron.getDust(1)) + .itemOutputs(Materials.Steel.getIngots(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(6 * MINUTES) + .eut(0) + .metadata(ADDITIVE_AMOUNT, 4) + .addTo(sPrimitiveBlastRecipes); - } + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Iron.getBlocks(1)) + .itemOutputs(Materials.Steel.getIngots(9)) + .noFluidInputs() + .noFluidOutputs() + .duration(54 * MINUTES) + .eut(0) + .metadata(ADDITIVE_AMOUNT, 36) + .addTo(sPrimitiveBlastRecipes); - public void registerPrimitiveBlastFurnaceRecipes() { - addPrimitiveBlastFurnaceRecipes( - new ItemStack[] { Materials.Iron.getIngots(1) }, - 4, - new ItemStack[] { Materials.Steel.getIngots(1) }, - 6 * MINUTES); - - addPrimitiveBlastFurnaceRecipes( - new ItemStack[] { Materials.Iron.getDust(1) }, - 4, - new ItemStack[] { Materials.Steel.getIngots(1) }, - 6 * MINUTES); - - addPrimitiveBlastFurnaceRecipes( - new ItemStack[] { Materials.Iron.getBlocks(1) }, - 36, - new ItemStack[] { Materials.Steel.getIngots(9) }, - 54 * MINUTES); - - addPrimitiveBlastFurnaceRecipes( - new ItemStack[] { Materials.Steel.getDust(1) }, - 2, - new ItemStack[] { Materials.Steel.getIngots(1) }, - 6 * MINUTES); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Steel.getDust(1)) + .itemOutputs(Materials.Steel.getIngots(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(6 * MINUTES) + .eut(0) + .metadata(ADDITIVE_AMOUNT, 2) + .addTo(sPrimitiveBlastRecipes); } } |