diff options
Diffstat (limited to 'src/main/java/gregtech')
27 files changed, 909 insertions, 5476 deletions
diff --git a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java index d13891f813..0222df057b 100644 --- a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java +++ b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java @@ -681,7 +681,12 @@ public enum MetaTileEntityIDs { RECIPE_FILTER_UHV(9339), INDUSTRIAL_APIARY(9399), Drone_Centre(9400), - DroneDownLink(9401); + DroneDownLink(9401), + sofc1(13101), + sofc2(13102), + tfft(13104), + lsc(13106), + tfftHatch(13109); public final int ID; diff --git a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java index e7abfea98f..e3c3a8cbaa 100644 --- a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java +++ b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java @@ -1,1069 +1,8 @@ package gregtech.api.interfaces.internal; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_RecipeBuilder; public interface IGT_RecipeAdder { - /** - * Adds a FusionreactorRecipe Does not work anymore! - */ - - @Deprecated - boolean addFusionReactorRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aFusionDurationInTicks, - int aFusionEnergyPerTick, int aEnergyNeededForStartingFusion); - - /** - * Adds a FusionreactorRecipe - * - * @param aInput1 = first Input (not null, and respects StackSize) - * @param aInput2 = second Input (not null, and respects StackSize) - * @param aOutput1 = Output of the Fusion (can be null, and respects StackSize) - * @param aFusionDurationInTicks = How many ticks the Fusion lasts (must be > 0) - * @param aFusionEnergyPerTick = The EU generated per Tick (can even be negative!) - * @param aEnergyNeededForStartingFusion = EU needed for heating the Reactor up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - @Deprecated - boolean addFusionReactorRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, - int aFusionDurationInTicks, int aFusionEnergyPerTick, int aEnergyNeededForStartingFusion); - - /** - * Adds a Fusion Reactor Recipe - * - * @param FluidInputArray Array of input fluids. Up to 16. - * @param FluidOutputArray Array of output fluids. Up to 16. - * @param aFusionDurationInTicks How many ticks the Fusion lasts (must be > 0). - * @param aFusionEnergyPerTick The EU consumed per tick to keep the reaction going. - * @param aEnergyNeededForStartingFusion EU needed to initialize the fusion reaction. (must be >= 0). - * @return true if the recipe got added, otherwise false. - */ - - @Deprecated - boolean addFusionReactorRecipe(FluidStack[] FluidInputArray, FluidStack[] FluidOutputArray, - int aFusionDurationInTicks, int aFusionEnergyPerTick, int aEnergyNeededForStartingFusion); - - /** - * Adds a Centrifuge Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - * @param aDuration must be > 0 - */ - - @Deprecated - boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration); - - @Deprecated - boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt); - - /** - * Adds a Centrifuge Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addCentrifugeRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, - ItemStack aOutput6, int[] aChances, int aDuration, int aEUt); - - @Deprecated - boolean addCentrifugeRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, - ItemStack aOutput6, int[] aChances, int aDuration, int aEUt, boolean aCleanroom); - - /** - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @return if the recipe was successfully added - */ - - @Deprecated - boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt); - - /** - * Adds a Electrolyzer Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addElectrolyzerRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt); - - /** - * Adds a Electrolyzer Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addElectrolyzerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, - ItemStack aOutput6, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration); - - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, int aDuration); - - /** - * Adds a Chemical Recipe Only use this when the recipe conflicts in MultiBlock! - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aOutput2 must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addChemicalRecipeForBasicMachineOnly(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aOutput2 must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, ItemStack aOutput2, int aDuration); - - /** - * Adds Recipes for creating a radically polymerized polymer from a base Material (for example Ethylene -> - * Polyethylene) - * - * @param aBasicMaterial The basic Material - * @param aBasicMaterialCell The corresponding Cell basic Material - * @param aPolymer The polymer - */ - void addDefaultPolymerizationRecipes(Fluid aBasicMaterial, ItemStack aBasicMaterialCell, Fluid aPolymer); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUtick must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, int aDuration, int aEUtick); - - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick, boolean aCleanroom); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aOutput2 must be != null - * @param aDuration must be > 0 - * @param aEUtick must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick); - - /** - * Adds a Chemical Recipe that only exists in the Large Chemical Reactor - * - * @param aInputs item inputs - * @param aFluidInputs fluid inputs - * @param aFluidOutputs fluid outputs - * @param aOutputs item outputs - * @param aDuration must be > 0 - * @param aEUtick must be > 0 <br> - * aInputs and aFluidInputs must contain at least one valid input. <br> - * aOutputs and aFluidOutputs must contain at least one valid output. - * - */ - @Deprecated - boolean addMultiblockChemicalRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int aDuration, int aEUtick); - - /** - * Adds a Blast Furnace Recipe - * - * @param aInput1 must be != null - * @param aInput2 can be null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * @param aLevel should be > 0 is the minimum Heat Level needed for this Recipe - */ - @Deprecated - boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, int aDuration, - int aEUt, int aLevel); - - /** - * Adds a Blast Furnace Recipe - * - * @param aInput1 must be != null - * @param aInput2 can be null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * @param aLevel should be > 0 is the minimum Heat Level needed for this Recipe - */ - @Deprecated - boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, int aLevel); - - @Deprecated - boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - ItemStack aOutput4, int aDuration, int aEUt, int aLevel); - - /** - * Adds a Plasma Forge Recipe - * - * @param ItemInputArray Array of input items. - * @param FluidInputArray Array of output items. - * @param OutputItemArray Array of input fluids. - * @param FluidOutputArray Array of output items. - * @param aDuration Must be > 0. Duration in ticks. - * @param aEUt Should be > 0. EU/t. - * @param coil_heat_level Should be > 0. Heat of the coils used. - */ - @Deprecated - boolean addPlasmaForgeRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] OutputItemArray, - FluidStack[] FluidOutputArray, int aDuration, int aEUt, int coil_heat_level); - - @Deprecated - boolean addPrimitiveBlastRecipe(ItemStack aInput1, ItemStack aInput2, int aCoalAmount, ItemStack aOutput1, - ItemStack aOutput2, int aDuration); - - /** - * Adds a Canning Machine Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0, 100 ticks is standard. - * @param aEUt should be > 0, 1 EU/t is standard. - */ - @Deprecated - boolean addCannerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, int aDuration, - int aEUt); - - /** - * Adds an Alloy Smelter Recipe - * - * @param aInput1 must be != null - * @param aInput2 can be null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt, - boolean hidden); - - /** - * Adds an Assembler Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aInput2 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt); - - /** - * Adds an Assembler Recipe - * - * @param aInputs must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * - */ - @Deprecated - boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, - int aEUt); - - /** - * Adds an Assembler Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt); - - @Deprecated - boolean addAssemblerRecipe(ItemStack aInput1, Object aOreDict, int aAmount, FluidStack aFluidInput, - ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addAssemblerRecipe(ItemStack[] aInputs, Object aOreDict, int aAmount, FluidStack aFluidInput, - ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt, - boolean aCleanroom); - - /** - * Adds an Circuit Assembler Recipe - * - * @param aInputs must be 1-6 ItemStacks - * @param aFluidInput 0-1 fluids - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addCircuitAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, int aDuration, - int aEUt); - - @Deprecated - boolean addCircuitAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, int aDuration, - int aEUt, boolean aCleanroom); - - /** - * Adds an Assemblyline Recipe - * - * @param aInputs must be != null, 4-16 inputs - * @param aFluidInputs 0-4 fluids - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt); - - /** - * Adds a Assemblyline Recipe - * - * @param aInputs elements should be: ItemStack for single item; ItemStack[] for multiple equivalent items; - * {OreDict, amount} for oredict. - */ - @Deprecated - boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, Object[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt); - - /** - * Adds a Forge Hammer Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addForgeHammerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt); - - // Allows fluids as well as multiple items. - @Deprecated - boolean addForgeHammerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] ItemOutputArray, - FluidStack[] FluidOutputArray, int aDuration, int aEUt); - - /** - * Adds a Wiremill Recipe - * - * @param aInput must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addWiremillRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addWiremillRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Polariser Recipe - * - * @param aInput must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addPolarizerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Plate Bending Machine Recipe - * - * @param aInput must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addBenderRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addBenderRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Extruder Machine Recipe - * - * @param aInput must be != null - * @param aShape must be != null, Set the stackSize to 0 if you don't want to let it consume this Item. - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addExtruderRecipe(ItemStack aInput, ItemStack aShape, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Slicer Machine Recipe - * - * @param aInput must be != null - * @param aShape must be != null, Set the stackSize to 0 if you don't want to let it consume this Item. - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addSlicerRecipe(ItemStack aInput, ItemStack aShape, ItemStack aOutput, int aDuration, int aEUt); - - /** - * @param aInput must be != null - * @param aFluidInput must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * @return if the recipe was successfully added - */ - @Deprecated - boolean addOreWasherRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - FluidStack aFluidInput, int aDuration, int aEUt); - - @Deprecated - boolean addOreWasherRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - FluidStack aFluidInput, int[] aChances, int aDuration, int aEUt); - - /** - * Adds an Implosion Compressor Recipe - * - * @param aInput1 must be != null - * @param aInput2 amount of ITNT, should be > 0 - * @param aOutput1 must be != null - * @param aOutput2 can be null - */ - @Deprecated - boolean addImplosionRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2); - - /** - * Adds a Grinder Recipe - * - * @param aInput1 must be != null - * @param aInput2 id for the Cell needed for this Recipe - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - */ - @Deprecated - boolean addGrinderRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4); - - /** - * Adds a Distillation Tower Recipe - * - * @param aInput must be != null - * @param aOutputs must be != null 1-5 Fluids - * @param aOutput2 can be null - */ - @Deprecated - boolean addDistillationTowerRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, - int aEUt); - - @Deprecated - boolean addDistillationTowerRecipe(FluidStack aInput, ItemStack[] aCircuit, FluidStack[] aOutputs, - ItemStack aOutput2, int aDuration, int aEUt); - - @Deprecated - boolean addSimpleArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, - int aDuration, int aEUt); - - @Deprecated - boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, - int aDuration, int aEUt); - - @Deprecated - boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - FluidStack aFluidPutput, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Distillation Tower Recipe - */ - @Deprecated - boolean addDistillationRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt); - - /** - * Adds a Lathe Machine Recipe - */ - @Deprecated - boolean addLatheRecipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt); - - /** - * Adds a Cutter Recipe - */ - @Deprecated - boolean addCutterRecipe(ItemStack aInput, FluidStack aLubricant, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt); - - /** - * Adds Cutter Recipes with default Lubricants - */ - @Deprecated - boolean addCutterRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt); - - @Deprecated - boolean addCutterRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, - boolean aCleanroom); - - @Deprecated - boolean addCutterRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput1, ItemStack aOutput2, int aDuration, - int aEUt); - - @Deprecated - boolean addCutterRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput1, ItemStack aOutput2, int aDuration, - int aEUt, boolean aCleanroom); - - @Deprecated - boolean addCutterRecipe(ItemStack[] aInputs, ItemStack[] aOutputs, int aDuration, int aEUt, int aSpecial); - - @Deprecated - boolean addCutterRecipe(ItemStack[] aInputs, ItemStack[] aOutputs, int aDuration, int aEUt, boolean aCleanroom); - - /** - * Adds a Boxing Recipe - */ - @Deprecated - boolean addBoxingRecipe(ItemStack aContainedItem, ItemStack aEmptyBox, ItemStack aFullBox, int aDuration, int aEUt); - - /** - * @param aInput must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * @return if the recipe was successfully added - */ - @Deprecated - boolean addThermalCentrifugeRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - int aDuration, int aEUt); - - @Deprecated - boolean addThermalCentrifugeRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - int[] aChances, int aDuration, int aEUt); - - /** - * Adds an Unboxing Recipe - */ - @Deprecated - boolean addUnboxingRecipe(ItemStack aFullBox, ItemStack aContainedItem, ItemStack aEmptyBox, int aDuration, - int aEUt); - - /** - * Adds a Vacuum Freezer Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration); - - @Deprecated - boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addVacuumFreezerRecipe(FluidStack aInput1, FluidStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addVacuumFreezerRecipe(ItemStack[] aItemInput, FluidStack[] aFluidInput, ItemStack[] aItemOutput, - FluidStack[] aFluidOutput, int aDuration, int aEUt); - - /** - * Adds a Fuel for My Generators - * - * @param aInput1 must be != null - * @param aOutput1 can be null - * @param aEU EU per MilliBucket. If no Liquid Form of this Container is available, then it will give you - * EU*1000 per Item. - * @param aType 0 = Diesel; 1 = Gas Turbine; 2 = Thermal; 3 = Dense Fluid; 4 = Plasma; 5 = Magic; And if - * something is unclear or missing, then look at the GT_Recipe-Class - */ - @Deprecated - boolean addFuel(ItemStack aInput1, ItemStack aOutput1, int aEU, int aType); - - /** - * Adds an Amplifier Recipe for the Amplifabricator - */ - @Deprecated - boolean addAmplifier(ItemStack aAmplifierItem, int aDuration, int aAmplifierAmountOutputted); - - /** - * Adds a Recipe for the Brewing Machine (intentionally limited to Fluid IDs) - */ - @Deprecated - boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, boolean aHidden); - - @Deprecated - boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, int aDuration, int aEUt, - boolean aHidden); - - @Deprecated - boolean addBrewingRecipeCustom(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt, boolean aHidden); - - /** - * Adds a Recipe for the Fermenter - */ - @Deprecated - boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, boolean aHidden); - - @Deprecated - boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUT, boolean aHidden); - - /** - * Adds a Recipe for the Fluid Heater - */ - @Deprecated - boolean addFluidHeaterRecipe(ItemStack aCircuit, FluidStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addFluidHeaterRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Distillery - */ - @Deprecated - boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, ItemStack aSolidOutput, - int aDuration, int aEUt, boolean aHidden); - - @Deprecated - boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt, - boolean aHidden); - - @Deprecated - boolean addDistilleryRecipe(int circuitConfig, FluidStack aInput, FluidStack aOutput, ItemStack aSolidOutput, - int aDuration, int aEUt, boolean aHidden); - - @Deprecated - boolean addDistilleryRecipe(int aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt, - boolean aHidden); - - /** - * Adds a Recipe for the Fluid Solidifier - */ - @Deprecated - boolean addFluidSolidifierRecipe(ItemStack aMold, FluidStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Fluid Solidifier - */ - @Deprecated - boolean addFluidSolidifierRecipe(final ItemStack[] itemInputs, final FluidStack[] fluidInputs, - final ItemStack[] itemOutputs, final FluidStack[] fluidOutputs, final int EUPerTick, - final int aDurationInTicks); - - /** - * Adds a Recipe for Fluid Smelting - */ - @Deprecated - boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, - int aEUt); - - /** - * Adds a Recipe for Fluid Smelting - */ - @Deprecated - boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, - int aEUt, boolean hidden); - - /** - * Adds a Recipe for Fluid Extraction - */ - @Deprecated - boolean addFluidExtractionRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Fluid Canner - */ - @Deprecated - boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput); - - @Deprecated - boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Chemical Bath - */ - @Deprecated - boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int[] aChances, int aDuration, int aEUt); - - @Deprecated - boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Electromagnetic Separator - */ - @Deprecated - boolean addElectromagneticSeparatorRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Extractor - */ - @Deprecated - boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Printer - */ - @Deprecated - boolean addPrinterRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aSpecialSlot, ItemStack aOutput, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Autoclave - */ - @Deprecated - boolean addAutoclaveRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, int aDuration, - int aEUt); - - @Deprecated - boolean addAutoclaveRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, int aDuration, - int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluid, ItemStack aOutput, int aChance, - int aDuration, int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, FluidStack aFluidOut, - ItemStack aOutput, int aChance, int aDuration, int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclaveSpaceRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, int aDuration, - int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclaveSpaceRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluid, ItemStack aOutput, - int aChance, int aDuration, int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclave4Recipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, FluidStack aFluidOut, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean aCleanroom); - - /** - * Adds a Recipe for the Mixer - */ - @Deprecated - boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, - int aDuration, int aEUt); - - @Deprecated - boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - ItemStack aOutput4, int aDuration, int aEUt); - - // Use me only from now on! - @Deprecated - boolean addMixerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] ItemOutputArray, - FluidStack[] FluidOutputArray, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Laser Engraver. - */ - @Deprecated - boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, int aDuration, - int aEUt); - - /** - * Adds a Recipe for the Laser Engraver. - */ - @Deprecated - boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, int aDuration, - int aEUt, boolean aCleanroom); - - /** - * Adds a Generalised Laser Engraver Recipe. - * - * @param ItemInputArray Array of input items. - * @param FluidInputArray Array of output items. - * @param OutputItemArray Array of input fluids. - * @param FluidOutputArray Array of output items. - * @param aDuration Must be > 0. Duration in ticks. - * @param aEUt Should be > 0. EU/t. - * @param aCleanroom Boolean for usage of cleanroom in recipe. - */ - @Deprecated - boolean addLaserEngraverRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt, boolean aCleanroom); - - /** - * Adds a Recipe for the Forming Press - */ - @Deprecated - boolean addFormingPressRecipe(ItemStack aItemToImprint, ItemStack aForm, ItemStack aImprintedItem, int aDuration, - int aEUt); - - // Allows more than 2 inputs and multiple outputs - @Deprecated - boolean addFormingPressRecipe(ItemStack[] ItemInputArray, ItemStack[] OutputItemArray, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Sifter. (up to 9 Outputs) - */ - @Deprecated - boolean addSifterRecipe(ItemStack aItemToSift, ItemStack[] aSiftedItems, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Generalised Sifter Recipe. - * - * @param ItemInputArray Array of input items. - * @param FluidInputArray Array of output items. - * @param OutputItemArray Array of input fluids. - * @param FluidOutputArray Array of output items. - * @param aChances Array of output chances. - * @param aDuration Must be > 0. Duration in ticks. - * @param aEUt Should be > 0. EU/t. - * @param aCleanroom Boolean for usage of cleanroom in recipe. - */ - @Deprecated - boolean addSifterRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] OutputItemArray, - FluidStack[] FluidOutputArray, int[] aChances, int aDuration, int aEUt, boolean aCleanroom); - - /** - * Adds a Recipe for the Arc Furnace. (up to 4 Outputs) - */ - @Deprecated - boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Arc Furnace. (up to 4 Outputs) - */ - @Deprecated - boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, - boolean hidden); - - /** - * Adds a Recipe for the GT Pulveriser. (up to 4 Outputs) - */ - @Deprecated - boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the GT Pulveriser. (up to 4 Outputs) - */ - @Deprecated - boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, - boolean hidden); - - /** - * Adds a Distillation Tower Recipe Every Fluid also gets separate distillation recipes - * - * @param aInput must be != null - * @param aOutputs must be != null 1-5 Fluids - * @param aOutput2 can be null - */ - @Deprecated - boolean addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, - int aEUt); - - @Deprecated - boolean addUniversalDistillationRecipewithCircuit(FluidStack aInput, ItemStack[] aCircuit, FluidStack[] aOutputs, - ItemStack aOutput2, int aDuration, int aEUt); - - /** - * Adds Pyrolyse Recipe - * - * @param aInput input item stack - * @param aFluidInput fluid input - * @param intCircuit circuit index - * @param aOutput output item stack - * @param aFluidOutput fluid output - * @param aDuration recipe duration - * @param aEUt recipe EU/t expenditure - * - * @return if the recipe was successfully added - */ - @Deprecated - boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, - FluidStack aFluidOutput, int aDuration, int aEUt); - - /** - * Adds Oil Cracking Recipe - * - * @param aInput input item stack - * @param aOutput output item stack - * @param aDuration recipe duration - * @param aEUt recipe EU/t expenditure - */ - @Deprecated - boolean addCrackingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt); - - /** - * Adds Oil Cracking Recipe - * - * @param circuitConfig The circuit configuration to control cracking severity - * @param aInput The fluid to be cracked - * @param aInput2 The fluid to catalyze the cracking (typically Hydrogen or Steam) - * @param aOutput The cracked fluid - * @param aDuration recipe duration - * @param aEUt recipe EU/t expenditure - */ - @Deprecated - boolean addCrackingRecipe(int circuitConfig, FluidStack aInput, FluidStack aInput2, FluidStack aOutput, - int aDuration, int aEUt); - - /** - * Adds a Sound to the Sonictron9001 you should NOT call this in the preInit-Phase! - * - * @param aItemStack = The Item you want to display for this Sound - * @param aSoundName = The Name of the Sound in the resources/newsound-folder like Vanillasounds - * @return true if the Sound got added, otherwise false. - */ - @Deprecated - boolean addSonictronSound(ItemStack aItemStack, String aSoundName); - - @Deprecated - boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt); - - /** - * Add a Nano Forge Recipe. The Nano Forge's main use is to make nanites/nanorobots. Tier 1 Nano Forge - Can make - * partly biological, partly metal nanites TIer 2 Nano Forge - Can make mostly metal nanites with some biological - * aspects TIer 3 Nano Forge - Can make nanites entierly out of metal - * - * @param aInputs must not be null - * @param aFluidInputs can be null - * @param aOutputs must not be null, the nanite or other output - * @param aFluidOutputs can be null - * @param aChances can be null - * @param aDuration recipe duration - * @param aEUt recipe EU/t expenditure - * @param aSpecialValue defines the tier of nano forge required. - * - */ - @Deprecated - boolean addNanoForgeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int[] aChances, int aDuration, int aEUt, int aSpecialValue); - - /** - * Add a breeder cell. - * - * @param input raw stack. should be undamaged. - * @param output breed output - * @param heatMultiplier bonus progress per neutron pulse per heat step - * @param heatStep divisor for hull heat - * @param reflector true if also acts as a neutron reflector, false otherwise. - * @param requiredPulses progress required to complete breeding - * @return added fake recipe - */ - GT_Recipe addIC2ReactorBreederCell(ItemStack input, ItemStack output, boolean reflector, int heatStep, - int heatMultiplier, int requiredPulses); - - /** - * Add a fuel cell. - * - * @param input raw stack. should be undamaged. - * @param output depleted stack - * @param aMox true if has mox behavior, false if uranium behavior. - * @param aHeat inherent heat output multiplier of the fuel material. should not add the extra heat from being a - * multi-cell! - * @param aEnergy inherent energy output multiplier of the fuel material. should not add the extra energy from being - * a multi-cell! - * @param aCells cell count - * @return added fake recipe - */ - GT_Recipe addIC2ReactorFuelCell(ItemStack input, ItemStack output, boolean aMox, float aHeat, float aEnergy, - int aCells); - GT_RecipeBuilder stdBuilder(); } diff --git a/src/main/java/gregtech/api/items/GT_BreederCell_Item.java b/src/main/java/gregtech/api/items/GT_BreederCell_Item.java index 3d51415783..438b0f467e 100644 --- a/src/main/java/gregtech/api/items/GT_BreederCell_Item.java +++ b/src/main/java/gregtech/api/items/GT_BreederCell_Item.java @@ -14,6 +14,7 @@ import net.minecraft.world.World; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Utility; import ic2.api.reactor.IReactor; import ic2.api.reactor.IReactorComponent; @@ -43,13 +44,18 @@ public class GT_BreederCell_Item extends GT_Generic_Item implements IReactorComp GregTech_API.sAfterGTPostload.add(() -> { mProduct = aProduct.get(); if (!hidden && !neiAdded) { - GT_Values.RA.addIC2ReactorBreederCell( - new ItemStack(this), - mProduct, - deflector, - mHeatBonusStep, - mHeatBonusMultiplier, - getMaxDamage()); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(this)) + .itemOutputs(mProduct) + .setNEIDesc( + deflector ? "Neutron reflecting Breeder" : "Heat neutral Breeder", + String.format("Every %d reactor hull heat", mHeatBonusStep), + String.format("increase speed by %d00%%", mHeatBonusMultiplier), + String.format("Required pulses: %d", getMaxDamage())) + .duration(0) + .eut(0) + .addTo(RecipeMaps.ic2NuclearFakeRecipes); + neiAdded = true; } }); diff --git a/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java b/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java index 8698bac886..2509cf6261 100644 --- a/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java +++ b/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java @@ -8,10 +8,13 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import gregtech.api.enums.GT_Values; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Utility; import ic2.api.reactor.IReactor; import ic2.api.reactor.IReactorComponent; import ic2.core.IC2Potion; +import ic2.core.init.MainConfig; +import ic2.core.util.ConfigUtil; public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implements IReactorComponent { @@ -36,13 +39,33 @@ public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implement this.sMox = aMox; if (aDepleted != null && aEnergy > 0 && aHeat > 0) { // avoid adding depleted cells to recipe map - GT_Values.RA.addIC2ReactorFuelCell( - new ItemStack(this), - aDepleted, - aMox, - aHeat * MYSTERIOUS_MULTIPLIER_HEAT, - aEnergy, - aCellcount); + + int pulses = aCellcount / 2 + 1; + + // for the mysterious constant 5.0f, + // see ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric.getOfferedEnergy + // don't ask, just accept + float nukePowerMult = 5.0f * ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/nuclear"); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(this)) + .itemOutputs(aDepleted) + .setNEIDesc( + aMox ? "MOX Model" : "Uranium Model", + "Neutron Pulse: " + aCellcount, + aCellcount == 1 + ? String.format("Heat: %.1f * n1 * (n1 + 1)", (aHeat * MYSTERIOUS_MULTIPLIER_HEAT) / 2f) + : String.format( + "Heat: %.1f * (%d + n1) * (%d + n1)", + (aHeat * MYSTERIOUS_MULTIPLIER_HEAT) * aCellcount / 2f, + aCellcount, + aCellcount + 1), + String.format( + "Energy: %.1f + n2 * %.1f EU/t", + aEnergy * aCellcount * pulses * nukePowerMult, + aEnergy * nukePowerMult)) + .duration(0) + .eut(0) + .addTo(RecipeMaps.ic2NuclearFakeRecipes); } } diff --git a/src/main/java/gregtech/api/recipe/RecipeMap.java b/src/main/java/gregtech/api/recipe/RecipeMap.java index 2ee2d3cb94..70a5fcf3ba 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMap.java +++ b/src/main/java/gregtech/api/recipe/RecipeMap.java @@ -112,68 +112,13 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { } // region add recipe - - @Nullable - public GT_Recipe addRecipe(boolean aOptimize, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs, - @Nullable Object aSpecial, @Nullable int[] aOutputChances, @Nullable FluidStack[] aFluidInputs, - @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) { - return addRecipe( - new GT_Recipe( - aOptimize, - aInputs, - aOutputs, - aSpecial, - aOutputChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)); - } - - @Nullable - public GT_Recipe addRecipe(@Nullable int[] aOutputChances, @Nullable FluidStack[] aFluidInputs, - @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) { - return addRecipe( - new GT_Recipe( - false, - null, - null, - null, - aOutputChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue), - false, - false, - false); - } - - @Nullable - public GT_Recipe addRecipe(boolean aOptimize, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs, - @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, @Nullable FluidStack[] aFluidOutputs, - int aDuration, int aEUt, int aSpecialValue) { - return addRecipe( - new GT_Recipe( - aOptimize, - aInputs, - aOutputs, - aSpecial, - null, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)); - } - + @Deprecated @Nullable public GT_Recipe addRecipe(GT_Recipe aRecipe) { return addRecipe(aRecipe, true, false, false); } + @Deprecated @Nullable public GT_Recipe addRecipe(GT_Recipe aRecipe, boolean aCheckForCollisions, boolean aFakeRecipe, boolean aHidden) { aRecipe.mHidden = aHidden; @@ -188,30 +133,7 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes! * findRecipe won't find fake Recipes, containsInput WILL find fake Recipes */ - @Nullable - public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, - @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable int[] aOutputChances, - @Nullable FluidStack[] aFluidInputs, @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, - int aSpecialValue) { - return addFakeRecipe( - aCheckForCollisions, - new GT_Recipe( - false, - aInputs, - aOutputs, - aSpecial, - aOutputChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)); - } - - /** - * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes! - * findRecipe won't find fake Recipes, containsInput WILL find fake Recipes - */ + @Deprecated @Nullable public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, @@ -231,26 +153,7 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { aSpecialValue)); } - @Nullable - public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, - @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, - @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue, boolean hidden) { - return addFakeRecipe( - aCheckForCollisions, - new GT_Recipe( - false, - aInputs, - aOutputs, - aSpecial, - null, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue), - hidden); - } - + @Deprecated @Nullable public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, @@ -277,11 +180,13 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes! * findRecipe won't find fake Recipes, containsInput WILL find fake Recipes */ + @Deprecated @Nullable public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe) { return addRecipe(aRecipe, aCheckForCollisions, true, false); } + @Deprecated @Nullable public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe, boolean hidden) { return addRecipe(aRecipe, aCheckForCollisions, true, hidden); diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java index 409703fbad..c42b8725b4 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java @@ -1103,11 +1103,6 @@ public final class RecipeMaps { .maxIO(1, 1, 0, 0) .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE) .build(); - public static final RecipeMap<FuelBackend> fluidNaquadahReactorFuels = RecipeMapBuilder - .of("gt.recipe.fluidfuelnaquadahreactor", FuelBackend::new) - .maxIO(1, 1, 0, 0) - .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE) - .build(); public static final RecipeMap<RecipeMapBackend> electrolyzerNonCellRecipes = RecipeMapBuilder .of("gt.recipe.largeelectrolyzer") .maxIO(1, 6, 1, 6) diff --git a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java index dc579ebd9b..b5bfff9e29 100644 --- a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java +++ b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java @@ -1,16 +1,17 @@ package gregtech.api.util; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.fishPondRecipes; + import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomFishable; import net.minecraftforge.common.FishingHooks; -import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.GT_Values; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; @@ -49,7 +50,14 @@ public class FishPondFakeRecipe { ItemStack t = (ItemStack) ReflectionUtils .getField(WeightedRandomFishable.class, "field_150711_b") .get(u); - addNewFishPondLoot(mType, new ItemStack[] { t }, new int[] { 10000 }); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(mType)) + .itemOutputs(t) + .duration(5 * SECONDS) + .eut(0) + .ignoreCollision() + .addTo(fishPondRecipes); + Logger.INFO("Fishing [" + mType + "]: " + ItemUtils.getArrayStackNames(new ItemStack[] { t })); } catch (IllegalArgumentException | IllegalAccessException e1) { Logger.INFO("Error generating Fish Pond Recipes. [2]"); e1.printStackTrace(); @@ -61,20 +69,4 @@ public class FishPondFakeRecipe { return true; } - - public static void addNewFishPondLoot(int circuit, ItemStack[] outputItems, int[] chances) { - GT_Recipe x = new GT_Recipe( - true, - new ItemStack[] { CI.getNumberedCircuit(circuit) }, - outputItems, - null, - chances, - new FluidStack[] { null }, - new FluidStack[] { null }, - 100, // 1 Tick - 0, // No Eu produced - 0); - Logger.INFO("Fishing [" + circuit + "]: " + ItemUtils.getArrayStackNames(outputItems)); - GTPPRecipeMaps.fishPondRecipes.addRecipe(x, false, false, false); - } } diff --git a/src/main/java/gregtech/api/util/GT_Forestry_Compat.java b/src/main/java/gregtech/api/util/GT_Forestry_Compat.java index 427703e6f7..d383d643d7 100644 --- a/src/main/java/gregtech/api/util/GT_Forestry_Compat.java +++ b/src/main/java/gregtech/api/util/GT_Forestry_Compat.java @@ -1,9 +1,14 @@ package gregtech.api.util; +import static gregtech.api.recipe.RecipeMaps.centrifugeNonCellRecipes; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.scannerFakeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + import java.util.Map; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; import forestry.api.recipes.ICentrifugeRecipe; import forestry.api.recipes.ISqueezerRecipe; @@ -17,112 +22,112 @@ public class GT_Forestry_Compat { public static void populateFakeNeiRecipes() { if (ItemList.FR_Bee_Drone.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Bee_Drone.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Bee_Drone.getWithName(1L, "Scanned Drone") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Bee_Drone.getWildcard(1L)) + .itemOutputs(ItemList.FR_Bee_Drone.getWithName(1L, "Scanned Drone")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Bee_Princess.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Bee_Princess.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Bee_Princess.getWithName(1L, "Scanned Princess") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Bee_Princess.getWildcard(1L)) + .itemOutputs(ItemList.FR_Bee_Princess.getWithName(1L, "Scanned Princess")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Bee_Queen.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Bee_Queen.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Bee_Queen.getWithName(1L, "Scanned Queen") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Bee_Queen.getWildcard(1L)) + .itemOutputs(ItemList.FR_Bee_Queen.getWithName(1L, "Scanned Queen")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Tree_Sapling.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Tree_Sapling.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Tree_Sapling.getWithName(1L, "Scanned Sapling") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Tree_Sapling.getWildcard(1L)) + .itemOutputs(ItemList.FR_Tree_Sapling.getWithName(1L, "Scanned Sapling")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Butterfly.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Butterfly.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Butterfly.getWithName(1L, "Scanned Butterfly") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Butterfly.getWildcard(1L)) + .itemOutputs(ItemList.FR_Butterfly.getWithName(1L, "Scanned Butterfly")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Larvae.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Larvae.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Larvae.getWithName(1L, "Scanned Larvae") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Larvae.getWildcard(1L)) + .itemOutputs(ItemList.FR_Larvae.getWithName(1L, "Scanned Larvae")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Serum.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Serum.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Serum.getWithName(1L, "Scanned Serum") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Serum.getWildcard(1L)) + .itemOutputs(ItemList.FR_Serum.getWithName(1L, "Scanned Serum")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Caterpillar.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Caterpillar.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Caterpillar.getWithName(1L, "Scanned Caterpillar") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Caterpillar.getWildcard(1L)) + .itemOutputs(ItemList.FR_Caterpillar.getWithName(1L, "Scanned Caterpillar")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_PollenFertile.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_PollenFertile.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_PollenFertile.getWithName(1L, "Scanned Pollen") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_PollenFertile.getWildcard(1L)) + .itemOutputs(ItemList.FR_PollenFertile.getWithName(1L, "Scanned Pollen")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } } @@ -139,28 +144,21 @@ public class GT_Forestry_Compat { .copy(); i++; } - RecipeMaps.centrifugeRecipes.addRecipe( - true, - new ItemStack[] { tRecipe.getInput() }, - tOutputs, - null, - tChances, - null, - null, - 128, - 5, - 0); - RecipeMaps.centrifugeNonCellRecipes.addRecipe( - true, - new ItemStack[] { tRecipe.getInput() }, - tOutputs, - null, - tChances, - null, - null, - 128, - 5, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(tRecipe.getInput()) + .itemOutputs(tOutputs) + .outputChances(tChances) + .duration(6 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(tRecipe.getInput()) + .itemOutputs(tOutputs) + .outputChances(tChances) + .duration(6 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeNonCellRecipes); } } catch (Throwable e) { if (GT_Values.D1) { @@ -172,18 +170,17 @@ public class GT_Forestry_Compat { public static void transferSqueezerRecipes() { try { for (ISqueezerRecipe tRecipe : RecipeManagers.squeezerManager.recipes()) { - if ((tRecipe.getResources().length == 1) && (tRecipe.getFluidOutput() != null)) { - RecipeMaps.fluidExtractionRecipes.addRecipe( - true, - new ItemStack[] { tRecipe.getResources()[0] }, - new ItemStack[] { tRecipe.getRemnants() }, - null, - new int[] { (int) (tRecipe.getRemnantsChance() * 10000) }, - null, - new FluidStack[] { tRecipe.getFluidOutput() }, - 32, - 8, - 0); + if ((tRecipe.getResources().length == 1) && (tRecipe.getFluidOutput() != null) + && (tRecipe.getResources()[0] != null) + && (tRecipe.getRemnants() != null)) { + GT_Values.RA.stdBuilder() + .itemInputs(tRecipe.getResources()[0]) + .itemOutputs(tRecipe.getRemnants()) + .outputChances((int) (tRecipe.getRemnantsChance() * 10000)) + .fluidOutputs(tRecipe.getFluidOutput()) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(RecipeMaps.fluidExtractionRecipes); } } } catch (Throwable e) { diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java index 70dc2f30b0..8c43a5334b 100644 --- a/src/main/java/gregtech/api/util/GT_ModHandler.java +++ b/src/main/java/gregtech/api/util/GT_ModHandler.java @@ -10,7 +10,6 @@ import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.GT_Values.V; import static gregtech.api.enums.GT_Values.W; import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; -import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; @@ -576,184 +575,6 @@ public class GT_ModHandler { } /** - * LiquidTransposer Recipe for both directions - */ - @Deprecated - public static boolean addLiquidTransposerRecipe(ItemStack aEmptyContainer, FluidStack aLiquid, - ItemStack aFullContainer, int aMJ) { - return true; - } - - /** - * LiquidTransposer Recipe for filling Containers - */ - @Deprecated - public static boolean addLiquidTransposerFillRecipe(ItemStack aEmptyContainer, FluidStack aLiquid, - ItemStack aFullContainer, int aMJ) { - return true; - } - - /** - * LiquidTransposer Recipe for emptying Containers - */ - @Deprecated - public static boolean addLiquidTransposerEmptyRecipe(ItemStack aFullContainer, FluidStack aLiquid, - ItemStack aEmptyContainer, int aMJ) { - return true; - } - - /** - * IC2-Extractor Recipe. Overloads old Recipes automatically - */ - @Deprecated - public static boolean addExtractionRecipe(ItemStack aInput, ItemStack aOutput) { - aOutput = GT_OreDictUnificator.get(true, aOutput); - if (aInput == null || aOutput == null) return false; - RA.stdBuilder() - .itemInputs(aInput) - .itemOutputs(aOutput) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - return true; - } - - /** - * RC-BlastFurnace Recipes - */ - @Deprecated - public static boolean addRCBlastFurnaceRecipe(ItemStack aInput, ItemStack aOutput, int aTime) { - return true; - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1) { - return addPulverisationRecipe(aInput, aOutput1, null, 0, false); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2) { - return addPulverisationRecipe(aInput, aOutput1, aOutput2, 100, false); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - int aChance) { - return addPulverisationRecipe(aInput, aOutput1, aOutput2, aChance, false); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, boolean aOverwrite) { - return addPulverisationRecipe(aInput, aOutput1, null, 0, aOverwrite); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - boolean aOverwrite) { - return addPulverisationRecipe(aInput, aOutput1, aOutput2, 100, aOverwrite); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance, - boolean aOverwrite) { - return addPulverisationRecipe(aInput, aOutput1, aOutput2, aChance, null, 0, aOverwrite); - } - - /** - * Adds Several Pulverizer-Type Recipes. - */ - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance2, - ItemStack aOutput3, int aChance3, boolean aOverwrite) { - aOutput1 = GT_OreDictUnificator.get(true, aOutput1); - aOutput2 = GT_OreDictUnificator.get(true, aOutput2); - if (GT_Utility.isStackInvalid(aInput) || GT_Utility.isStackInvalid(aOutput1)) return false; - - if (GT_Utility.getContainerItem(aInput, false) == null) { - RA.addPulveriserRecipe( - aInput, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - new int[] { 10000, aChance2 <= 0 ? 1000 : 100 * aChance2, aChance3 <= 0 ? 1000 : 100 * aChance3 }, - 400, - 2); - } - return true; - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInputItem, ItemStack[] aOutputArray, int[] aChanceArray, - int aEUt, int aRecipeDurationInTicks) { - - ItemStack[] aUnifiedOutputArray = new ItemStack[aOutputArray.length]; - int counter = 0; - - for (ItemStack item : aOutputArray) { - aUnifiedOutputArray[counter] = GT_OreDictUnificator.get(true, item); - counter++; - } - - RA.addPulveriserRecipe(aInputItem, aOutputArray, aChanceArray, aRecipeDurationInTicks, aEUt); - - return true; - } - - @Deprecated - public static boolean addImmersiveEngineeringRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - int aChance2, ItemStack aOutput3, int aChance3) { - return true; - } - - @Deprecated - public static boolean addMagneticraftRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance2, - ItemStack aOutput3, int aChance3) { - return true; - } - - /** - * Adds a Recipe to the Sawmills of ThermalCraft - */ - @Deprecated - public static boolean addSawmillRecipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2) { - return true; - } - - /** - * Induction Smelter Recipes and Alloy Smelter Recipes - */ - @Deprecated - public static boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt, boolean aAllowSecondaryInputEmpty) { - if (aInput1 == null || (aInput2 == null && !aAllowSecondaryInputEmpty) || aOutput1 == null) return false; - aOutput1 = GT_OreDictUnificator.get(true, aOutput1); - RA.stdBuilder() - .itemInputs(aInput1, aInput2) - .itemOutputs(aOutput1) - .duration(aDuration) - .eut(aEUt) - .addTo(alloySmelterRecipes); - return true; - } - - /** - * Induction Smelter Recipes for TE - */ - public static boolean addInductionSmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, - ItemStack aOutput2, int aEnergy, int aChance) { - return true; - } - - /** - * Smelts Ores to Ingots - */ - public static boolean addOreToIngotSmeltingRecipe(ItemStack aInput, ItemStack aOutput) { - aOutput = GT_OreDictUnificator.get(true, aOutput); - if (aInput == null || aOutput == null) return false; - FurnaceRecipes.smelting() - .func_151394_a(aInput, GT_Utility.copyOrNull(aOutput), 0.0F); - return true; - } - - /** * Adds GT versions of the IC2 recipes from the supplied IC2RecipeList. */ public static void addIC2RecipesToGT(Map<IRecipeInput, RecipeOutput> aIC2RecipeList, RecipeMap<?> aGTRecipeMap, @@ -781,35 +602,27 @@ public class GT_ModHandler { .contains("ic2.itemPurifiedCrushed")))) continue; switch (aGTRecipeMap.unlocalizedName) { - case "gt.recipe.macerator", "gt.recipe.extractor", "gt.recipe.compressor" -> aGTRecipeMap - .addRecipe( - true, - new ItemStack[] { GT_Utility.copyAmount( + case "gt.recipe.macerator", "gt.recipe.extractor", "gt.recipe.compressor" -> GT_Values.RA + .stdBuilder() + .itemInputs( + GT_Utility.copyAmount( iRecipeInputRecipeOutputEntry.getKey() .getAmount(), - tStack) }, - iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0]), - null, - null, - null, - null, - 300, - 2, - 0); - case "gt.recipe.thermalcentrifuge" -> aGTRecipeMap.addRecipe( - true, - new ItemStack[] { GT_Utility.copyAmount( - iRecipeInputRecipeOutputEntry.getKey() - .getAmount(), - tStack) }, - iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0]), - null, - null, - null, - null, - 500, - 48, - 0); + tStack)) + .itemOutputs(iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0])) + .duration(15 * SECONDS) + .eut(2) + .addTo(aGTRecipeMap); + case "gt.recipe.thermalcentrifuge" -> GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount( + iRecipeInputRecipeOutputEntry.getKey() + .getAmount(), + tStack)) + .itemOutputs(iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0])) + .duration(25 * SECONDS) + .eut(48) + .addTo(aGTRecipeMap); } } catch (Exception e) { System.err.println(e); @@ -870,48 +683,10 @@ public class GT_ModHandler { return emptyRecipeMap; } - public static Map<IRecipeInput, RecipeOutput> getMassFabricatorList() { - try { - return ic2.api.recipe.Recipes.matterAmplifier.getRecipes(); - } catch (Throwable e) { - /* Do nothing */ - } - return emptyRecipeMap; - } - - /** - * IC2-ThermalCentrifuge Recipe. Overloads old Recipes automatically - */ - @Deprecated - public static boolean addThermalCentrifugeRecipe(ItemStack aInput, int[] aChances, int aHeat, Object... aOutput) { - if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false; - RA.addThermalCentrifugeRecipe( - aInput, - (ItemStack) aOutput[0], - aOutput.length >= 2 ? (ItemStack) aOutput[1] : null, - aOutput.length >= 3 ? (ItemStack) aOutput[2] : null, - aChances, - 500, - 48); - return true; - } - - @Deprecated - public static boolean addThermalCentrifugeRecipe(ItemStack aInput, int aHeat, Object... aOutput) { - if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false; - RA.addThermalCentrifugeRecipe( - aInput, - (ItemStack) aOutput[0], - aOutput.length >= 2 ? (ItemStack) aOutput[1] : null, - aOutput.length >= 3 ? (ItemStack) aOutput[2] : null, - 500, - 48); - return true; - } - /** * IC2-OreWasher Recipe. Overloads old Recipes automatically */ + @Deprecated public static boolean addOreWasherRecipe(ItemStack aInput, int[] aChances, int aWaterAmount, Object... aOutput) { if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false; RA.stdBuilder() @@ -934,76 +709,6 @@ public class GT_ModHandler { return true; } - public static boolean addOreWasherRecipe(ItemStack aInput, int aWaterAmount, Object... aOutput) { - if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false; - RA.stdBuilder() - .itemInputs(aInput) - .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2]) - .fluidInputs(GT_ModHandler.getWater(aWaterAmount)) - .duration(25 * SECONDS) - .eut(16) - .addTo(oreWasherRecipes); - - RA.stdBuilder() - .itemInputs(aInput) - .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2]) - .fluidInputs(GT_ModHandler.getDistilledWater(aWaterAmount / 5)) - .duration(15 * SECONDS) - .eut(16) - .addTo(oreWasherRecipes); - return true; - } - - /** - * IC2-Compressor Recipe. Overloads old Recipes automatically - */ - @Deprecated - public static boolean addCompressionRecipe(ItemStack aInput, ItemStack aOutput) { - return addCompressionRecipe(aInput, aOutput, 300, 2); - } - - /** - * IC2-Compressor Recipe. Overloads old Recipes automatically - */ - @Deprecated - public static boolean addCompressionRecipe(ItemStack aInput, ItemStack aOutput, int duration, int EUPerTick) { - aOutput = GT_OreDictUnificator.get(true, aOutput); - if (aInput == null || aOutput == null || GT_Utility.areStacksEqual(aInput, aOutput, true)) return false; - RA.addCompressorRecipe(aInput, aOutput, duration, EUPerTick); - return true; - } - - /** - * @param aValue Scrap = 5000, Scrapbox = 45000, Diamond Dust 125000 - */ - public static boolean addIC2MatterAmplifier(ItemStack aAmplifier, int aValue) { - if (aAmplifier == null || aValue <= 0) return false; - try { - NBTTagCompound tNBT = new NBTTagCompound(); - tNBT.setInteger("amplification", aValue); - GT_Utility - .callMethod(ic2.api.recipe.Recipes.matterAmplifier, "addRecipe", false, false, false, aAmplifier, tNBT); - } catch (Throwable e) { - /* Do nothing */ - } - return true; - } - - /** - * Rolling Machine Crafting Recipe - */ - public static boolean addRollingMachineRecipe(ItemStack aResult, Object[] aRecipe) { - aResult = GT_OreDictUnificator.get(true, aResult); - if (aResult == null || aRecipe == null || aResult.stackSize <= 0) return false; - try { - mods.railcraft.api.crafting.RailcraftCraftingManager.rollingMachine.getRecipeList() - .add(new ShapedOreRecipe(GT_Utility.copyOrNull(aResult), aRecipe)); - } catch (Throwable e) { - return addCraftingRecipe(GT_Utility.copyOrNull(aResult), aRecipe); - } - return true; - } - public static void stopBufferingCraftingRecipes() { sBufferCraftingRecipes = false; @@ -2498,54 +2203,4 @@ public class GT_ModHandler { */ public static long DONT_REMOVE_SHAPELESS = B[13]; } - - /** - * Copy of the original Helper Class of Thermal Expansion, just to make sure it works even when other Mods include - * TE-APIs - */ - public static class ThermalExpansion { - - public static void addFurnaceRecipe(int energy, ItemStack input, ItemStack output) {} - - public static void addPulverizerRecipe(int energy, ItemStack input, ItemStack primaryOutput) {} - - public static void addPulverizerRecipe(int energy, ItemStack input, ItemStack primaryOutput, - ItemStack secondaryOutput) {} - - public static void addPulverizerRecipe(int energy, ItemStack input, ItemStack primaryOutput, - ItemStack secondaryOutput, int secondaryChance) {} - - public static void addSawmillRecipe(int energy, ItemStack input, ItemStack primaryOutput) {} - - public static void addSawmillRecipe(int energy, ItemStack input, ItemStack primaryOutput, - ItemStack secondaryOutput) {} - - public static void addSawmillRecipe(int energy, ItemStack input, ItemStack primaryOutput, - ItemStack secondaryOutput, int secondaryChance) {} - - public static void addSmelterRecipe(int energy, ItemStack primaryInput, ItemStack secondaryInput, - ItemStack primaryOutput) {} - - public static void addSmelterRecipe(int energy, ItemStack primaryInput, ItemStack secondaryInput, - ItemStack primaryOutput, ItemStack secondaryOutput) {} - - public static void addSmelterRecipe(int energy, ItemStack primaryInput, ItemStack secondaryInput, - ItemStack primaryOutput, ItemStack secondaryOutput, int secondaryChance) {} - - public static void addSmelterBlastOre(Materials aMaterial) {} - - public static void addCrucibleRecipe(int energy, ItemStack input, FluidStack output) {} - - public static void addTransposerFill(int energy, ItemStack input, ItemStack output, FluidStack fluid, - boolean reversible) {} - - public static void addTransposerExtract(int energy, ItemStack input, ItemStack output, FluidStack fluid, - int chance, boolean reversible) {} - - public static void addMagmaticFuel(String fluidName, int energy) {} - - public static void addCompressionFuel(String fluidName, int energy) {} - - public static void addCoolant(String fluidName, int energy) {} - } } diff --git a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java index 6f7c9a81bb..66bc11444a 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java +++ b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java @@ -334,14 +334,6 @@ public class GT_RecipeBuilder { return this; } - /** - * Really just {@link #special(Object)}, but with a different signature to make it less confusing. WARNING: only for - * legacy recipe map. do not abuse. - */ - public GT_RecipeBuilder specialItem(ItemStack specialItem) { - return special(specialItem); - } - public GT_RecipeBuilder duration(int duration) { this.duration = duration; return this; diff --git a/src/main/java/gregtech/api/util/GT_RecipeConstants.java b/src/main/java/gregtech/api/util/GT_RecipeConstants.java index d9d6c7d7d2..0828112fc7 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeConstants.java +++ b/src/main/java/gregtech/api/util/GT_RecipeConstants.java @@ -97,6 +97,88 @@ public class GT_RecipeConstants { public static final RecipeMetadataKey<Boolean> ON_FIRE = SimpleRecipeMetadataKey.create(Boolean.class, "on_fire"); /** + * Nano Forge Tier. + */ + public static final RecipeMetadataKey<Integer> NANO_FORGE_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "nano_forge_tier"); + + /** + * FOG Exotic recipe tier. + */ + public static final RecipeMetadataKey<Integer> FOG_EXOTIC_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "fog_exotic_tier"); + + /** + * FOG Plasma recipe tier. + */ + public static final RecipeMetadataKey<Integer> FOG_PLASMA_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "fog_plasma_tier"); + + /** + * DEFC Casing tier. + */ + public static final RecipeMetadataKey<Integer> DEFC_CASING_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "defc_casing_tier"); + + /** + * Chemplant Casing tier. Beware, codewise index starts at 0, but it is tier 1. + */ + public static final RecipeMetadataKey<Integer> CHEMPLANT_CASING_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "chemplant_casing_tier"); + + /** + * QFT Focus tier. + */ + public static final RecipeMetadataKey<Integer> QFT_FOCUS_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "qft_focus_tier"); + + /** + * Dissolution Tank Ratio. + */ + public static final RecipeMetadataKey<Integer> DISSOLUTION_TANK_RATIO = SimpleRecipeMetadataKey + .create(Integer.class, "dissolution_tank_ratio"); + + /** + * Duration in days for the RTG. + */ + public static final RecipeMetadataKey<Integer> RTG_DURATION_IN_DAYS = SimpleRecipeMetadataKey + .create(Integer.class, "rtg_duration_in_days"); + + /** + * Basic output for the Large Naquadah Generator. + */ + public static final RecipeMetadataKey<Integer> LNG_BASIC_OUTPUT = SimpleRecipeMetadataKey + .create(Integer.class, "lng_basic_output"); + + /** + * Coil tier for the Naquadah Fuel Refinery. + */ + public static final RecipeMetadataKey<Integer> NFR_COIL_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "nfr_coil_tier"); + + /** + * NKE range for the neutron activator. + */ + public static final RecipeMetadataKey<Integer> NKE_RANGE = SimpleRecipeMetadataKey + .create(Integer.class, "nke_range"); + /** + * Precise Assembler casing tier. + */ + public static final RecipeMetadataKey<Integer> PRECISE_ASSEMBLER_CASING_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "precise_assembler_casing_tier"); + /** + * CoAL casing tier. + */ + public static final RecipeMetadataKey<Integer> COAL_CASING_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "coal_casing_tier"); + + /** + * LFTR output power. + */ + public static final RecipeMetadataKey<Integer> LFTR_OUTPUT_POWER = SimpleRecipeMetadataKey + .create(Integer.class, "lftr_output_power"); + + /** * 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. */ @@ -328,5 +410,19 @@ public class GT_RecipeConstants { GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(COIL_HEAT); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(FUSION_THRESHOLD); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(FUEL_VALUE); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(NANO_FORGE_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(FOG_EXOTIC_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(FOG_PLASMA_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(DEFC_CASING_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(CHEMPLANT_CASING_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(QFT_FOCUS_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(DISSOLUTION_TANK_RATIO); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(RTG_DURATION_IN_DAYS); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(LNG_BASIC_OUTPUT); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(NFR_COIL_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(NKE_RANGE); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(PRECISE_ASSEMBLER_CASING_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(COAL_CASING_TIER); + } } diff --git a/src/main/java/gregtech/api/util/GasSpargingRecipe.java b/src/main/java/gregtech/api/util/GasSpargingRecipe.java index 667cc78d85..527359e0e8 100644 --- a/src/main/java/gregtech/api/util/GasSpargingRecipe.java +++ b/src/main/java/gregtech/api/util/GasSpargingRecipe.java @@ -2,10 +2,10 @@ package gregtech.api.util; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.TierEU; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.util.data.ArrayUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; public class GasSpargingRecipe implements Comparable<GasSpargingRecipe> { @@ -29,7 +29,7 @@ public class GasSpargingRecipe implements Comparable<GasSpargingRecipe> { mFluidOutputs = aOutputs; mMaxOutputQuantity = aMaxOutputQuantity; mDuration = 500; - mEUt = MaterialUtils.getVoltageForTier(5); + mEUt = (int) TierEU.RECIPE_IV; } @Override diff --git a/src/main/java/gregtech/api/util/HotFuel.java b/src/main/java/gregtech/api/util/HotFuel.java deleted file mode 100644 index 6054a57b84..0000000000 --- a/src/main/java/gregtech/api/util/HotFuel.java +++ /dev/null @@ -1,40 +0,0 @@ -package gregtech.api.util; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gtPlusPlus.api.recipe.GTPPRecipeMaps; - -public class HotFuel { - - public static void addNewHotFuel(FluidStack aInput1, FluidStack aOutput1, ItemStack[] outputItems, int[] chances, - int aSpecialValue) { - GTPPRecipeMaps.thermalBoilerRecipes.addRecipe( - true, - null, - outputItems, - null, - chances, - new FluidStack[] { aInput1 }, - new FluidStack[] { aOutput1 }, - 1, // 1 Tick - 0, // No Eu produced - aSpecialValue // Magic Number - ); - } - - public static void addNewHotFuel(FluidStack aInput1, FluidStack aOutput1, FluidStack aOutput2, int aSpecialValue) { - GTPPRecipeMaps.thermalBoilerRecipes.addRecipe( - false, - null, - null, - null, - null, - new FluidStack[] { aInput1 }, - new FluidStack[] { aOutput1, aOutput2 }, - 20, // 1 Second - 0, // No Eu produced - aSpecialValue // Magic Number - ); - } -} diff --git a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java index e3baa9ac90..aa983a5804 100644 --- a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java +++ b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java @@ -1,5 +1,6 @@ package gregtech.api.util; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.semiFluidFuels; import java.util.HashMap; @@ -8,6 +9,7 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.GT_Values; import gregtech.api.recipe.RecipeMaps; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.Pair; @@ -15,45 +17,6 @@ import gtPlusPlus.core.util.minecraft.FluidUtils; public class SemiFluidFuelHandler { - public static boolean addSemiFluidFuel(ItemStack aFuelItem, int aFuelValue) { - FluidStack p = FluidContainerRegistry.getFluidForFilledItem(aFuelItem); - if (p != null && aFuelValue > 0) { - return addSemiFluidFuel(p, aFuelValue); - } else { - Logger.INFO("Fuel value for " + aFuelItem.getDisplayName() + " is <= 0, ignoring."); - } - return false; - } - - public static boolean addSemiFluidFuel(FluidStack aFuel, int aFuelValue) { - FluidStack p = aFuel; - if (p != null && aFuelValue > 0) { - GT_Recipe aRecipe = new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { p }, - null, - 0, - 0, - aFuelValue); - if (aRecipe.mSpecialValue > 0) { - Logger.INFO( - "Added " + aRecipe.mFluidInputs[0].getLocalizedName() - + " to the Semi-Fluid Generator fuel map. Fuel Produces " - + (aRecipe.mSpecialValue * 1000) - + "EU per 1000L."); - semiFluidFuels.add(aRecipe); - return true; - } - } else { - Logger.INFO("Fuel value for " + p != null ? p.getLocalizedName() : "NULL Fluid" + " is <= 0, ignoring."); - } - return false; - } - public static boolean generateFuels() { final FluidStack aCreosote = FluidUtils.getFluidStack("creosote", 1000); final FluidStack aHeavyFuel = FluidUtils.getFluidStack("liquid_heavy_fuel", 1000); @@ -89,46 +52,45 @@ public class SemiFluidFuelHandler { } } for (Pair<FluidStack, Integer> p : aFoundFluidsFromItems.values()) { - if (p != null) { - int aFuelValue = p.getValue(); - if (p.getKey() - .isFluidEqual(aCreosote)) { - aFuelValue *= 6; - } else if (p.getKey() - .isFluidEqual(aHeavyFuel) - || p.getKey() - .isFluidEqual(aHeavyOil)) { - aFuelValue *= 1.5; - } else { - aFuelValue *= 2; - } + if (p == null) { + continue; + } - if (aFuelValue <= (128 * 3)) { - GT_Recipe aRecipe = new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { p.getKey() }, - null, - 0, - 0, - aFuelValue); - if (aRecipe.mSpecialValue > 0) { - Logger.INFO( - "Added " + aRecipe.mFluidInputs[0].getLocalizedName() - + " to the Semi-Fluid Generator fuel map. Fuel Produces " - + (aRecipe.mSpecialValue * 1000) - + "EU per 1000L."); - semiFluidFuels.add(aRecipe); + int aFuelValue = p.getValue(); + if (p.getKey() + .isFluidEqual(aCreosote)) { + aFuelValue *= 6; + } else if (p.getKey() + .isFluidEqual(aHeavyFuel) + || p.getKey() + .isFluidEqual(aHeavyOil)) { + aFuelValue *= 1.5; + } else { + aFuelValue *= 2; } - } else { - Logger.INFO( - "Boosted Fuel value for " + p.getKey() - .getLocalizedName() + " exceeds 512k, ignoring."); - } + + if (aFuelValue <= (128 * 3)) { + + GT_Values.RA.stdBuilder() + .fluidInputs(p.getKey()) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, aFuelValue) + .addTo(semiFluidFuels); + + Logger.INFO( + "Added " + p.getKey() + .getLocalizedName() + + " to the Semi-Fluid Generator fuel map. Fuel Produces " + + (aFuelValue * 1000) + + "EU per 1000L."); + + } else { + Logger.INFO( + "Boosted Fuel value for " + p.getKey() + .getLocalizedName() + " exceeds 512k, ignoring."); } + } return !semiFluidFuels.getAllRecipes() .isEmpty(); diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java index f0225fd241..8f48ec19bf 100644 --- a/src/main/java/gregtech/common/GT_RecipeAdder.java +++ b/src/main/java/gregtech/common/GT_RecipeAdder.java @@ -1,3242 +1,11 @@ package gregtech.common; -import static gregtech.GT_Mod.GT_FML_LOGGER; -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.Railcraft; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.List; -import java.util.Objects; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.GT_Mod; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; import gregtech.api.interfaces.internal.IGT_RecipeAdder; -import gregtech.api.objects.ItemData; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_AssemblyLineUtils; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine; import gregtech.api.util.GT_RecipeBuilder; -import gregtech.api.util.GT_RecipeConstants; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.extensions.ArrayExt; -import ic2.core.init.MainConfig; -import ic2.core.util.ConfigUtil; -import mods.railcraft.common.blocks.aesthetics.cube.EnumCube; -import mods.railcraft.common.items.RailcraftToolItems; public class GT_RecipeAdder implements IGT_RecipeAdder { @Override - @Deprecated - public boolean addFusionReactorRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt, int aStartEU) { - return false; - } - - @Deprecated - @Override // Really? - public boolean addFusionReactorRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, - int aEUt, int aStartEU) { - if (aInput1 == null || aInput2 == null || aOutput1 == null || aDuration < 1 || aEUt < 1 || aStartEU < 1) { - return false; - } - RecipeMaps.fusionRecipes.addRecipe( - null, - new FluidStack[] { aInput1, aInput2 }, - new FluidStack[] { aOutput1 }, - aDuration, - aEUt, - aStartEU); - return true; - } - - @Deprecated - @Override - public boolean addFusionReactorRecipe(FluidStack[] FluidInputArray, FluidStack[] FluidOutputArray, - int aFusionDurationInTicks, int aFusionEnergyPerTick, int aEnergyNeededForStartingFusion) { - if (FluidInputArray.length == 0) return false; - - if (FluidOutputArray.length == 0) return false; - - RecipeMaps.fusionRecipes.addRecipe( - null, - FluidInputArray, - FluidOutputArray, - aFusionDurationInTicks, - aFusionEnergyPerTick, - aEnergyNeededForStartingFusion); - return true; - } - - @Deprecated - @Override - public boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration) { - return addCentrifugeRecipe( - aInput1, - aInput2 < 0 ? null : aInput2 > 0 ? ItemList.Cell_Empty.get(aInput2) : null, - null, - null, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - null, - aDuration, - 5); - } - - @Deprecated - @Override - public boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt) { - return addCentrifugeRecipe( - aInput1, - aInput2 < 0 ? null : aInput2 > 0 ? ItemList.Cell_Empty.get(aInput2) : null, - null, - null, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - null, - aDuration, - aEUt); - } - - @Deprecated - @Override - public boolean addCentrifugeRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, - ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) { - return addCentrifugeRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - aChances, - aDuration, - aEUt, - false); - } - - @Deprecated - @Override - public boolean addCentrifugeRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, - ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt, boolean aCleanroom) { - if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) { - return false; - } - if ((aInput1 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidInput != null) && (aDuration <= 0)) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.centrifugeRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6, }, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - aCleanroom ? -100 : 0); - ItemStack[] itemInputs = { aInput1, aInput2 }; - ItemStack[] itemOutputs = { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6 }; - FluidStack[] fluidInputs = { aFluidInput, null, null }; - FluidStack[] fluidOutputs = { aFluidOutput, null, null, null, null, null, null }; - - byte iNumber = 0; - byte oNumber = 0; - - for (ItemStack item : itemInputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(aInput1, true) != null || GT_Utility.isCellEmpty(item)) { - fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); - itemInputs[iNumber] = null; - } - } - iNumber++; - } - - for (ItemStack item : itemOutputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { - fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); - itemOutputs[oNumber] = null; - } - } - oNumber++; - } - - RecipeMaps.centrifugeNonCellRecipes.addRecipe( - false, - itemInputs, - itemOutputs, - null, - aChances, - fluidInputs, - fluidOutputs, - aDuration, - aEUt, - aCleanroom ? -100 : 0); - return true; - } - - @Deprecated - @Override - public boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.compressorRecipes.addRecipe( - true, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addElectrolyzerRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt) { - return addElectrolyzerRecipe( - aInput1, - aInput2 < 0 ? null : aInput2 > 0 ? ItemList.Cell_Empty.get(aInput2) : null, - null, - null, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - null, - aDuration, - aEUt); - } - - @Deprecated - @Override - public boolean addElectrolyzerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, - ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) { - if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) { - return false; - } - if ((aInput1 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidInput != null) && (aDuration <= 0)) { - return false; - } - RecipeMaps.electrolyzerRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6 }, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - ItemStack[] itemInputs = { aInput1, aInput2 }; - ItemStack[] itemOutputs = { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6 }; - FluidStack[] fluidInputs = { aFluidInput, null, null }; - FluidStack[] fluidOutputs = { aFluidOutput, null, null, null, null, null, null }; - - byte iNumber = 0; - byte oNumber = 0; - - for (ItemStack item : itemInputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item) - || GT_Utility.isAnyIntegratedCircuit(item)) { - fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); - itemInputs[iNumber] = null; - } - } - iNumber++; - } - - for (ItemStack item : itemOutputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { - fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); - itemOutputs[oNumber] = null; - } - } - oNumber++; - } - - RecipeMaps.electrolyzerNonCellRecipes - .addRecipe(false, itemInputs, itemOutputs, null, aChances, fluidInputs, fluidOutputs, aDuration, aEUt, 0); - return true; - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration) { - return addChemicalRecipe(aInput1, aInput2, null, null, aOutput, aDuration); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration, int aEUt) { - return addChemicalRecipe(aInput1, aInput2, null, null, aOutput, aDuration, aEUt); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, int aDuration) { - return addChemicalRecipe(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aDuration, 30); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration) { - return addChemicalRecipe(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aOutput2, aDuration, 30); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUTick) { - return addChemicalRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput, - GT_Values.NI, - aDuration, - aEUTick); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick) { - return addChemicalRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput, - aOutput2, - aDuration, - aEUtick, - false); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick, - boolean aCleanroom) { - if (((aInput1 == null) && (aFluidInput == null)) - || ((aOutput == null) && (aOutput2 == null) && (aFluidOutput == null))) { - return false; - } - if ((aOutput != null || aOutput2 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidOutput != null) && (aDuration <= 0)) { - return false; - } - if (aEUtick <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - GT_RecipeBuilder builder = stdBuilder() - .itemInputs(ArrayExt.withoutNulls(new ItemStack[] { aInput1, aInput2 }, ItemStack[]::new)) - .itemOutputs(ArrayExt.withoutNulls(new ItemStack[] { aOutput, aOutput2 }, ItemStack[]::new)); - if (aFluidInput != null) builder.fluidInputs(aFluidInput); - if (aFluidOutput != null) builder.fluidOutputs(aFluidOutput); - builder.duration(aDuration) - .eut(aEUtick) - .metadata(GT_RecipeConstants.CLEANROOM, aCleanroom) - .addTo(GT_RecipeConstants.UniversalChemical); - return true; - } - - @Deprecated - @Override - public boolean addMultiblockChemicalRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUtick) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs)) { - return false; - } - if (aEUtick <= 0) { - return false; - } - RecipeMaps.multiblockChemicalReactorRecipes - .addRecipe(false, aInputs, aOutputs, null, null, aFluidInputs, aFluidOutputs, aDuration, aEUtick, 0); - return true; - } - - @Deprecated - @Override - public boolean addChemicalRecipeForBasicMachineOnly(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick) { - if (((aInput1 == null) && (aFluidInput == null)) - || ((aOutput == null) && (aOutput2 == null) && (aFluidOutput == null))) { - return false; - } - if ((aOutput != null || aOutput2 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidOutput != null) && (aDuration <= 0)) { - return false; - } - if (aEUtick <= 0) { - return false; - } - RecipeMaps.chemicalReactorRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput, aOutput2 }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUtick, - 0); - return true; - } - - @Deprecated - @Override - public void addDefaultPolymerizationRecipes(Fluid aBasicMaterial, ItemStack aBasicMaterialCell, Fluid aPolymer) { - // Oxygen/Titaniumtetrafluoride -> +50% Output each - addChemicalRecipe( - ItemList.Cell_Air.get(1), - GT_Utility.getIntegratedCircuit(1), - new FluidStack(aBasicMaterial, 144), - new FluidStack(aPolymer, 144), - Materials.Empty.getCells(1), - 160); - addChemicalRecipe( - Materials.Oxygen.getCells(1), - GT_Utility.getIntegratedCircuit(1), - new FluidStack(aBasicMaterial, 144), - new FluidStack(aPolymer, 216), - Materials.Empty.getCells(1), - 160); - addChemicalRecipe( - aBasicMaterialCell, - GT_Utility.getIntegratedCircuit(1), - Materials.Air.getGas(14000), - new FluidStack(aPolymer, 1000), - Materials.Empty.getCells(1), - 1120); - addChemicalRecipe( - aBasicMaterialCell, - GT_Utility.getIntegratedCircuit(1), - Materials.Oxygen.getGas(7000), - new FluidStack(aPolymer, 1500), - Materials.Empty.getCells(1), - 1120); - addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(2) }, - new FluidStack[] { new FluidStack(aBasicMaterial, 2160), Materials.Air.getGas(7500), - Materials.Titaniumtetrachloride.getFluid(100) }, - new FluidStack[] { new FluidStack(aPolymer, 3240) }, - null, - 800, - 30); - addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(2) }, - new FluidStack[] { new FluidStack(aBasicMaterial, 2160), Materials.Oxygen.getGas(7500), - Materials.Titaniumtetrachloride.getFluid(100) }, - new FluidStack[] { new FluidStack(aPolymer, 4320) }, - null, - 800, - 30); - } - - @Deprecated - @Override - public boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt, int aLevel) { - return addBlastRecipe(aInput1, aInput2, null, null, aOutput1, aOutput2, aDuration, aEUt, aLevel); - } - - @Override - @Deprecated - public boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, int aLevel) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.blastFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - aLevel); - return true; - } - - @Deprecated - public boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - ItemStack aOutput4, int aDuration, int aEUt, int aLevel) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.blastFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, aInput3, aInput4 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - aLevel); - return true; - } - - @Deprecated - @Override - public boolean addPlasmaForgeRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt, int coil_heat_level) { - RecipeMaps.plasmaForgeRecipes.addRecipe( - false, - ItemInputArray, - OutputItemArray, - null, - null, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - coil_heat_level); - return true; - } - - @Override - @Deprecated - public boolean addPrimitiveBlastRecipe(ItemStack aInput1, ItemStack aInput2, int aCoalAmount, ItemStack aOutput1, - ItemStack aOutput2, int aDuration) { - if ((aInput1 == null && aInput2 == null) || (aOutput1 == null && aOutput2 == null)) { - return false; - } - if (aCoalAmount <= 0) { - return false; - } - if (aDuration <= 0) { - return false; - } - Materials[] coals = new Materials[] { Materials.Coal, Materials.Charcoal }; - for (Materials coal : coals) { - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, coal.getGems(aCoalAmount) }, - new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount) }, - null, - null, - null, - null, - aDuration, - 0, - 0); - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, coal.getDust(aCoalAmount) }, - new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount) }, - null, - null, - null, - null, - aDuration, - 0, - 0); - } - if (Railcraft.isModLoaded()) { - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, RailcraftToolItems.getCoalCoke(aCoalAmount / 2) }, - new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount / 2) }, - null, - null, - null, - null, - aDuration * 2 / 3, - 0, - 0); - } - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, - GT_ModHandler.getModItem(GTPlusPlus.ID, "itemCactusCoke", (aCoalAmount * 2L)) }, - new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount * 2) }, - null, - null, - null, - null, - aDuration * 2 / 3, - 0, - 0); - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, - GT_ModHandler.getModItem(GTPlusPlus.ID, "itemSugarCoke", (aCoalAmount * 2L)) }, - new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount * 2) }, - null, - null, - null, - null, - aDuration * 2 / 3, - 0, - 0); - if ((aInput1 == null || aInput1.stackSize <= 6) && (aInput2 == null || aInput2.stackSize <= 6) - && (aOutput1 == null || aOutput1.stackSize <= 6) - && (aOutput2 == null || aOutput2.stackSize <= 6)) { - aInput1 = aInput1 == null ? null : GT_Utility.copyAmount(aInput1.stackSize * 10, aInput1); - aInput2 = aInput2 == null ? null : GT_Utility.copyAmount(aInput2.stackSize * 10, aInput2); - aOutput1 = aOutput1 == null ? null : GT_Utility.copyAmount(aOutput1.stackSize * 10, aOutput1); - aOutput2 = aOutput2 == null ? null : GT_Utility.copyAmount(aOutput2.stackSize * 10, aOutput2); - for (Materials coal : coals) { - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, coal.getBlocks(aCoalAmount) }, - new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount) }, - null, - null, - null, - null, - aDuration * 10, - 0, - 0); - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, coal.getBlocks(aCoalAmount) }, - new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount) }, - null, - null, - null, - null, - aDuration * 10, - 0, - 0); - } - if (Railcraft.isModLoaded()) { - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, EnumCube.COKE_BLOCK.getItem(aCoalAmount / 2) }, - new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDust(aCoalAmount / 2) }, - null, - null, - null, - null, - aDuration * 20 / 3, - 0, - 0); - } - } - return true; - } - - @Override - @Deprecated - public boolean addCannerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.cannerRecipes.addRecipe( - true, - aInput2 == null ? new ItemStack[] { aInput1 } : new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - aDuration, - Math.max(aEUt, 1), - 0); - return true; - } - - @Override - @Deprecated - public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt) { - return addAlloySmelterRecipe(aInput1, aInput2, aOutput1, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt, boolean hidden) { - if ((aInput1 == null) || (aOutput1 == null || Materials.Graphite.contains(aInput1))) { - return false; - } - if ((aInput2 == null) && ((OrePrefixes.ingot.contains(aInput1)) || (OrePrefixes.dust.contains(aInput1)) - || (OrePrefixes.gem.contains(aInput1)))) { - return false; - } - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = new GT_Recipe( - true, - aInput2 == null ? new ItemStack[] { aInput1 } : new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - null, - aDuration, - Math.max(aEUt, 1), - 0); - if (hidden) { - tRecipe.mHidden = true; - } - RecipeMaps.alloySmelterRecipes.addRecipe(tRecipe); - return true; - } - - @Override - @Deprecated - public boolean addLatheRecipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.latheRecipes.addRecipe( - true, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, FluidStack aLubricant, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt) { - if ((aInput == null) || (aLubricant == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.cutterRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - new FluidStack[] { aLubricant }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, - boolean aCleanroom) { - return addCutterRecipe(aInput, null, aOutput1, aOutput2, aDuration, aEUt, aCleanroom); - } - - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, int aCircuit, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt) { - return addCutterRecipe(aInput, aCircuit, aOutput1, aOutput2, aDuration, aEUt, false); - } - - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, int aCircuit, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt, boolean aCleanroom) { - return addCutterRecipe( - aInput, - GT_Utility.getIntegratedCircuit(aCircuit), - aOutput1, - aOutput2, - aDuration, - aEUt, - aCleanroom); - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt) { - return addCutterRecipe(aInput, aOutput1, aOutput2, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt) { - return addCutterRecipe(aInput, aCircuit, aOutput1, aOutput2, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt, boolean aCleanroom) { - return addCutterRecipe( - new ItemStack[] { aInput, aCircuit }, - new ItemStack[] { aOutput1, aOutput2 }, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - } - - @Deprecated - public boolean addCutterRecipe(ItemStack[] aInputs, ItemStack[] aOutputs, int aDuration, int aEUt, - boolean aCleanroom) { - return addCutterRecipe(aInputs, aOutputs, aDuration, aEUt, aCleanroom ? -200 : 0); - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack[] aInputs, ItemStack[] aOutputs, int aDuration, int aEUt, int aSpecial) { - if ((aInputs == null) || (aOutputs == null) || aInputs.length == 0 || aOutputs.length == 0) { - return false; - } - if (Arrays.stream(aOutputs) - .noneMatch(Objects::nonNull)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom && aSpecial == -200) { - aSpecial = 0; - } - RecipeMaps.cutterRecipes.addRecipe( - true, - aInputs, - aOutputs, - null, - new FluidStack[] { Materials.Water.getFluid(Math.max(4, Math.min(1000, aDuration * aEUt / 320))) }, - null, - aDuration * 2, - aEUt, - aSpecial); - RecipeMaps.cutterRecipes.addRecipe( - true, - aInputs, - aOutputs, - null, - new FluidStack[] { GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, aDuration * aEUt / 426))) }, - null, - aDuration * 2, - aEUt, - aSpecial); - RecipeMaps.cutterRecipes.addRecipe( - true, - aInputs, - aOutputs, - null, - new FluidStack[] { Materials.Lubricant.getFluid(Math.max(1, Math.min(250, aDuration * aEUt / 1280))) }, - null, - aDuration, - aEUt, - aSpecial); - return true; - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack aInput1, Object aOreDict, int aAmount, FluidStack aFluidInput, - ItemStack aOutput1, int aDuration, int aEUt) { - for (ItemStack tStack : GT_OreDictUnificator.getOresImmutable(aOreDict)) { - if (GT_Utility.isStackValid(tStack)) addAssemblerRecipe( - aInput1, - GT_Utility.copyAmount(aAmount, tStack), - aFluidInput, - aOutput1, - aDuration, - aEUt); - } - return true; - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack[] aInputs, Object aOreDict, int aAmount, FluidStack aFluidInput, - ItemStack aOutput1, int aDuration, int aEUt) { - for (ItemStack tStack : GT_OreDictUnificator.getOresImmutable(aOreDict)) { - if (GT_Utility.isStackValid(tStack)) { - ItemStack[] extendedInputs = new ItemStack[aInputs.length + 1]; - System.arraycopy(aInputs, 0, extendedInputs, 0, aInputs.length); - extendedInputs[aInputs.length] = GT_Utility.copyAmount(aAmount, tStack); - addAssemblerRecipe(extendedInputs, aFluidInput, aOutput1, aDuration, aEUt); - } - } - return true; - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt) { - return addAssemblerRecipe( - new ItemStack[] { aInput1, aInput2 == null ? aInput1 : aInput2 }, - null, - aOutput1, - aDuration, - aEUt, - false); - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt) { - return addAssemblerRecipe(new ItemStack[] { aInput1, aInput2 }, aFluidInput, aOutput1, aDuration, aEUt); - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, - int aEUt) { - return addAssemblerRecipe(aInputs, aFluidInput, aOutput1, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt, boolean aCleanroom) { - if (aInput2 == null) - return addAssemblerRecipe(new ItemStack[] { aInput1 }, aFluidInput, aOutput1, aDuration, aEUt, aCleanroom); - return addAssemblerRecipe( - new ItemStack[] { aInput1, aInput2 }, - aFluidInput, - aOutput1, - aDuration, - aEUt, - aCleanroom); - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, - int aEUt, boolean aCleanroom) { - - if (areItemsAndFluidsBothNull(aInputs, new FluidStack[] { aFluidInput })) { - return false; - } - - if (aDuration <= 0) { - return false; - } - - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - - if (!GT_Utility.isStackValid(aOutput1)) { - return false; - } - - for (int oreID : OreDictionary.getOreIDs(aOutput1)) { - if (OreDictionary.getOreName(oreID) - .startsWith("circuit")) { - return this.addAssemblerRecipeNonOD(aInputs, aFluidInput, aOutput1, aDuration, aEUt, aCleanroom); - } - } - - for (ItemStack aInput : aInputs) { - if (!GT_Utility.isStackValid(aInput)) { - GT_FML_LOGGER.debug("GT_RecipeAdder: Invalid input for (" + aOutput1 + ")"); - } - } - - RecipeMaps.assemblerRecipes.addRecipe( - true, - aInputs, - new ItemStack[] { aOutput1 }, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - - return true; - } - - @Deprecated - public boolean addAssemblerRecipeNonOD(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt, boolean aCleanroom) { - if (areItemsAndFluidsBothNull(aInputs, new FluidStack[] { aFluidInput })) { - return false; - } - - if (aDuration <= 0) { - return false; - } - - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - - if (!GT_Utility.isStackValid(aOutput1)) { - return false; - } - - RecipeMaps.assemblerRecipes.addRecipe( - true, - aInputs, - new ItemStack[] { aOutput1 }, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Override - @Deprecated - public boolean addWiremillRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.wiremillRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addWiremillRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.wiremillRecipes.addRecipe( - true, - new ItemStack[] { aInput, aCircuit }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addPolarizerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.polarizerRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addBenderRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.benderRecipes.addRecipe( - true, - new ItemStack[] { aInput1, ItemList.Circuit_Integrated.getWithDamage(0, aInput1.stackSize) }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - null, - aDuration, - Math.max(aEUt, 1), - 0); - return true; - } - - @Deprecated - @Override - public boolean addBenderRecipe(ItemStack aInput1, ItemStack aCircuit, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = new GT_Recipe( - new ItemStack[] { aInput1, aCircuit }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - null, - aDuration, - Math.max(aEUt, 1), - 0); - RecipeMaps.benderRecipes.addRecipe(tRecipe); - return true; - } - - @Override - @Deprecated - public boolean addExtruderRecipe(ItemStack aInput, ItemStack aShape, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aShape == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.extruderRecipes.addRecipe( - true, - new ItemStack[] { aInput, aShape }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addSlicerRecipe(ItemStack aInput, ItemStack aShape, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aShape == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.slicerRecipes.addRecipe( - true, - new ItemStack[] { aInput, aShape }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addOreWasherRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - FluidStack aFluidInput, int aDuration, int aEUt) { - if ((aInput == null) || (aFluidInput == null) - || ((aOutput1 == null) || (aOutput2 == null) || (aOutput3 == null))) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.oreWasherRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addOreWasherRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - FluidStack aFluidInput, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aFluidInput == null) - || ((aOutput1 == null) || (aOutput2 == null) || (aOutput3 == null))) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.oreWasherRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addImplosionRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aInput2 <= 0) { - return false; - } - int tExplosives = Math.min(aInput2, 64); - int tGunpowder = tExplosives << 1; // Worst - int tDynamite = Math.max(1, tExplosives >> 1); // good - @SuppressWarnings("UnnecessaryLocalVariable") - int tTNT = tExplosives; // Slightly better - int tITNT = Math.max(1, tExplosives >> 2); // the best - // new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2); - if (tGunpowder < 65) { - RecipeMaps.implosionRecipes.addRecipe( - true, - new ItemStack[] { aInput1, ItemList.Block_Powderbarrel.get(tGunpowder) }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - 20, - 30, - 0); - } - if (tDynamite < 17) { - RecipeMaps.implosionRecipes.addRecipe( - true, - new ItemStack[] { aInput1, GT_ModHandler.getIC2Item("dynamite", tDynamite, null) }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - 20, - 30, - 0); - } - RecipeMaps.implosionRecipes.addRecipe( - true, - new ItemStack[] { aInput1, new ItemStack(Blocks.tnt, tTNT) }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - 20, - 30, - 0); - RecipeMaps.implosionRecipes.addRecipe( - true, - new ItemStack[] { aInput1, GT_ModHandler.getIC2Item("industrialTnt", tITNT, null) }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - 20, - 30, - 0); - - return true; - } - - @Override - @Deprecated - public boolean addDistillationRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt) { - return false; - } - - @Override - @Deprecated - public boolean addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, - int aDuration, int aEUt) { - for (int i = 0; i < Math.min(aOutputs.length, 11); i++) { - addDistilleryRecipe(i + 1, aInput, aOutputs[i], aOutput2, aDuration * 2, aEUt / 4, false); - } - - return addDistillationTowerRecipe(aInput, aOutputs, aOutput2, aDuration, aEUt); - } - - @Override - @Deprecated - public boolean addDistillationTowerRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, - int aDuration, int aEUt) { - if (aInput == null || aOutputs == null || aOutputs.length < 1 || aOutputs.length > 11) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.distillationTowerRecipes.addRecipe( - false, - null, - new ItemStack[] { aOutput2 }, - null, - new FluidStack[] { aInput }, - aOutputs, - aDuration, - Math.max(1, aEUt), - 0); - return false; - } - - @Override - @Deprecated - public boolean addDistillationTowerRecipe(FluidStack aInput, ItemStack[] aCircuit, FluidStack[] aOutputs, - ItemStack aOutput2, int aDuration, int aEUt) { - if (aInput == null || aOutputs == null || aOutputs.length < 1 || aOutputs.length > 11) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.distillationTowerRecipes.addRecipe( - false, - aCircuit, - new ItemStack[] { aOutput2 }, - null, - new FluidStack[] { aInput }, - aOutputs, - aDuration, - Math.max(1, aEUt), - 0); - return false; - } - - @Override - @Deprecated - public boolean addUniversalDistillationRecipewithCircuit(FluidStack aInput, ItemStack[] aCircuit, - FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt) { - for (int i = 0; i < Math.min(aOutputs.length, 11); i++) { - addDistilleryRecipe(i + 1, aInput, aOutputs[i], aOutput2, aDuration * 2, aEUt / 4, false); - } - return addDistillationTowerRecipe(aInput, aCircuit, aOutputs, aOutput2, aDuration, aEUt); - } - - @Override - @Deprecated - public boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.vacuumFreezerRecipes.addRecipe( - false, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - aDuration, - aEUt, - 0); - FluidStack tInputFluid = GT_Utility.getFluidForFilledItem(aInput1, true); - FluidStack tOutputFluid = GT_Utility.getFluidForFilledItem(aOutput1, true); - if (tInputFluid != null && tOutputFluid != null) { - addVacuumFreezerRecipe(tInputFluid, tOutputFluid, aDuration, aEUt); - } - return true; - } - - @Override - @Deprecated - public boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - addVacuumFreezerRecipe(aInput1, aOutput1, aDuration, 120); - FluidStack tInputFluid = GT_Utility.getFluidForFilledItem(aInput1, true); - FluidStack tOutputFluid = GT_Utility.getFluidForFilledItem(aOutput1, true); - if (tInputFluid != null && tOutputFluid != null) { - addVacuumFreezerRecipe(tInputFluid, tOutputFluid, aDuration, 120); - } - return true; - } - - @Override - @Deprecated - public boolean addVacuumFreezerRecipe(FluidStack aInput1, FluidStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - RecipeMaps.vacuumFreezerRecipes.addRecipe( - false, - null, - null, - null, - new FluidStack[] { aInput1 }, - new FluidStack[] { aOutput1 }, - Math.max(1, aDuration), - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addVacuumFreezerRecipe(ItemStack[] aItemInput, FluidStack[] aFluidInput, ItemStack[] aItemOutput, - FluidStack[] aFluidOutput, int aDuration, int aEUt) { - RecipeMaps.vacuumFreezerRecipes.addRecipe( - false, - aItemInput, - aItemOutput, - null, - aFluidInput, - aFluidOutput, - Math.max(1, aDuration), - Math.max(1, aEUt), - 0); - return true; - } - - @Override - @Deprecated - public boolean addGrinderRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4) { - return false; - } - - @Override - @Deprecated - public boolean addFuel(ItemStack aInput1, ItemStack aOutput1, int aEU, int aType) { - if (aInput1 == null) { - return false; - } - new GT_Recipe(aInput1, aOutput1, null, null, null, aEU, aType); - return true; - } - - @Override - @Deprecated - public boolean addSonictronSound(ItemStack aItemStack, String aSoundName) { - if ((aItemStack == null) || (aSoundName == null) || (aSoundName.equals(""))) { - return false; - } - GT_Mod.gregtechproxy.mSoundItems.add(aItemStack); - GT_Mod.gregtechproxy.mSoundNames.add(aSoundName); - if (aSoundName.startsWith("note.")) { - GT_Mod.gregtechproxy.mSoundCounts.add(25); - } else { - GT_Mod.gregtechproxy.mSoundCounts.add(1); - } - return true; - } - - @Deprecated - @Override - public boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, ItemStack aOutput1, - ItemStack aOutput2, ItemStack aOutput3, FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt) { - return false; - } - - @Deprecated - @Override - public boolean addForgeHammerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - RecipeMaps.hammerRecipes.addRecipe( - true, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addForgeHammerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] ItemOutputArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt) { - - RecipeMaps.hammerRecipes.addRecipe( - true, - ItemInputArray, - ItemOutputArray, - null, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addBoxingRecipe(ItemStack aContainedItem, ItemStack aEmptyBox, ItemStack aFullBox, int aDuration, - int aEUt) { - if ((aContainedItem == null) || (aFullBox == null)) { - return false; - } - RecipeMaps.packagerRecipes.addRecipe( - true, - new ItemStack[] { aContainedItem, aEmptyBox }, - new ItemStack[] { aFullBox }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addUnboxingRecipe(ItemStack aFullBox, ItemStack aContainedItem, ItemStack aEmptyBox, int aDuration, - int aEUt) { - if ((aFullBox == null) || (aContainedItem == null)) { - return false; - } - RecipeMaps.unpackagerRecipes.addRecipe( - true, - new ItemStack[] { aFullBox }, - new ItemStack[] { aContainedItem, aEmptyBox }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addThermalCentrifugeRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput1 == null)) { - return false; - } - RecipeMaps.thermalCentrifugeRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addThermalCentrifugeRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput1 == null)) { - return false; - } - RecipeMaps.thermalCentrifugeRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addAmplifier(ItemStack aAmplifierItem, int aDuration, int aAmplifierAmountOutputted) { - if ((aAmplifierItem == null) || (aAmplifierAmountOutputted <= 0)) { - return false; - } - RecipeMaps.amplifierRecipes.addRecipe( - true, - new ItemStack[] { aAmplifierItem }, - null, - null, - null, - new FluidStack[] { Materials.UUAmplifier.getFluid(aAmplifierAmountOutputted) }, - aDuration, - 30, - 0); - return true; - } - - @Override - @Deprecated - public boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, int aDuration, int aEUt, - boolean aHidden) { - if ((aIngredient == null) || (aInput == null) || (aOutput == null)) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.brewingRecipes.addRecipe( - false, - new ItemStack[] { aIngredient }, - null, - null, - new FluidStack[] { new FluidStack(aInput, 750) }, - new FluidStack[] { new FluidStack(aOutput, 750) }, - aDuration, - aEUt, - 0); - if ((aHidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Override - @Deprecated - public boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, boolean aHidden) { - return addBrewingRecipe(aIngredient, aInput, aOutput, 128, 4, aHidden); - } - - @Override - @Deprecated - public boolean addBrewingRecipeCustom(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt, boolean aHidden) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.brewingRecipes.addRecipe( - false, - new ItemStack[] { aIngredient }, - null, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - if ((aHidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Override - @Deprecated - public boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt, - boolean aHidden) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.fermentingRecipes.addRecipe( - false, - null, - null, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - if ((aHidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Override - @Deprecated - public boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, boolean aHidden) { - return addFermentingRecipe(aInput, aOutput, aDuration, 2, aHidden); - } - - @Override - @Deprecated - public boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, - ItemStack aSolidOutput, int aDuration, int aEUt, boolean aHidden) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - // reduce the batch size if fluid amount is exceeding - int tScale = (Math.max(aInput.amount, aOutput.amount) + 999) / 1000; - if (tScale <= 0) tScale = 1; - if (tScale > 1) { - // trying to find whether there is a better factor - for (int i = tScale; i <= 5; i++) { - if (aInput.amount % i == 0 && aDuration % i == 0) { - tScale = i; - break; - } - } - for (int i = tScale; i <= 5; i++) { - if (aInput.amount % i == 0 && aDuration % i == 0 && aOutput.amount % i == 0) { - tScale = i; - break; - } - } - aInput = new FluidStack(aInput.getFluid(), (aInput.amount + tScale - 1) / tScale); - aOutput = new FluidStack(aOutput.getFluid(), aOutput.amount / tScale); - if (aSolidOutput != null) { - ItemData tData = GT_OreDictUnificator.getItemData(aSolidOutput); - if (tData != null && (tData.mPrefix == OrePrefixes.dust - || OrePrefixes.dust.mFamiliarPrefixes.contains(tData.mPrefix))) { - aSolidOutput = GT_OreDictUnificator - .getDust(tData.mMaterial.mMaterial, tData.mMaterial.mAmount * aSolidOutput.stackSize / tScale); - } else { - if (aSolidOutput.stackSize / tScale == 0) aSolidOutput = GT_Values.NI; - else aSolidOutput = new ItemStack(aSolidOutput.getItem(), aSolidOutput.stackSize / tScale); - } - } - aDuration = (aDuration + tScale - 1) / tScale; - } - - GT_Recipe tRecipe = RecipeMaps.distilleryRecipes.addRecipe( - true, - new ItemStack[] { aCircuit }, - new ItemStack[] { aSolidOutput }, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - if ((aHidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Override - @Deprecated - public boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt, boolean aHidden) { - return addDistilleryRecipe(aCircuit, aInput, aOutput, null, aDuration, aEUt, aHidden); - } - - @Override - @Deprecated - public boolean addDistilleryRecipe(int circuitConfig, FluidStack aInput, FluidStack aOutput, ItemStack aSolidOutput, - int aDuration, int aEUt, boolean aHidden) { - return addDistilleryRecipe( - GT_Utility.getIntegratedCircuit(circuitConfig), - aInput, - aOutput, - aSolidOutput, - aDuration, - aEUt, - aHidden); - } - - @Override - @Deprecated - public boolean addDistilleryRecipe(int circuitConfig, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt, boolean aHidden) { - return addDistilleryRecipe( - GT_Utility.getIntegratedCircuit(circuitConfig), - aInput, - aOutput, - aDuration, - aEUt, - aHidden); - } - - @Override - @Deprecated - public boolean addFluidSolidifierRecipe(final ItemStack[] itemInputs, final FluidStack[] fluidInputs, - final ItemStack[] itemOutputs, final FluidStack[] fluidOutputs, final int EUPerTick, - final int aDurationInTicks) { - RecipeMaps.fluidSolidifierRecipes - .addRecipe(true, itemInputs, itemOutputs, null, fluidInputs, fluidOutputs, aDurationInTicks, EUPerTick, 0); - return true; - } - - @Override - @Deprecated - public boolean addFluidSolidifierRecipe(ItemStack aMold, FluidStack aInput, ItemStack aOutput, int aDuration, - int aEUt) { - if ((aMold == null) || (aInput == null) || (aOutput == null)) { - return false; - } - if (aInput.isFluidEqual(Materials.PhasedGold.getMolten(144))) { - aInput = Materials.VibrantAlloy.getMolten(aInput.amount); - } - if (aInput.isFluidEqual(Materials.PhasedIron.getMolten(144))) { - aInput = Materials.PulsatingIron.getMolten(aInput.amount); - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidSolidifierRecipes.addRecipe( - true, - new ItemStack[] { aMold }, - new ItemStack[] { aOutput }, - null, - new FluidStack[] { aInput }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, - int aDuration, int aEUt) { - return addFluidSmelterRecipe(aInput, aRemains, aOutput, aChance, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, - int aDuration, int aEUt, boolean hidden) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aOutput.isFluidEqual(Materials.PhasedGold.getMolten(1))) { - aOutput = Materials.VibrantAlloy.getMolten(aOutput.amount); - } - if (aOutput.isFluidEqual(Materials.PhasedIron.getMolten(1))) { - aOutput = Materials.PulsatingIron.getMolten(aOutput.amount); - } - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.fluidExtractionRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aRemains }, - null, - new int[] { aChance }, - null, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - if ((hidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Deprecated - @Override - public boolean addFluidExtractionRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, - int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aOutput.isFluidEqual(Materials.PhasedGold.getMolten(1))) { - aOutput = Materials.VibrantAlloy.getMolten(aOutput.amount); - } - if (aOutput.isFluidEqual(Materials.PhasedIron.getMolten(1))) { - aOutput = Materials.PulsatingIron.getMolten(aOutput.amount); - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidExtractionRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aRemains }, - null, - new int[] { aChance }, - null, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, - FluidStack aFluidOutput) { - int aDuration = aFluidOutput == null ? aFluidInput.amount / 62 : aFluidOutput.amount / 62; - - if (aInput == null || aOutput == null) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidCannerRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - 1, - 0); - return true; - } - - @Deprecated - @Override - public boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, - FluidStack aFluidOutput, int aDuration, int aEUt) { - if (aInput == null || aOutput == null) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidCannerRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, ItemStack aOutput1, - ItemStack aOutput2, ItemStack aOutput3, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aBathingFluid == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.chemicalBathRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - new FluidStack[] { aBathingFluid }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aBathingFluid == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.chemicalBathRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - new FluidStack[] { aBathingFluid }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addElectromagneticSeparatorRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.electroMagneticSeparatorRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.extractorRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addPrinterRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aSpecialSlot, ItemStack aOutput, - int aDuration, int aEUt) { - if ((aInput == null) || (aFluid == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.printerRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - aSpecialSlot, - null, - new FluidStack[] { aFluid }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, - int aDuration, int aEUt, boolean aCleanroom) { - return addAutoclaveRecipe(aInput, aFluid, aOutput, aChance, aDuration, aEUt); - } - - @Override - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, - int aDuration, int aEUt) { - return addAutoclaveRecipe(aInput, null, aFluid, aOutput, aChance, aDuration, aEUt, false); - } - - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluid, ItemStack aOutput, - int aChance, int aDuration, int aEUt) { - return addAutoclaveRecipe(aInput, aCircuit, aFluid, aOutput, aChance, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, ItemStack aOutput, - int aChance, int aDuration, int aEUt, boolean aCleanroom) { - return addAutoclaveRecipe(aInput, aCircuit, aFluidIn, null, aOutput, aChance, aDuration, aEUt, aCleanroom); - } - - @Override - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, FluidStack aFluidOut, - ItemStack aOutput, int aChance, int aDuration, int aEUt, boolean aCleanroom) { - if ((aInput == null) || (aFluidIn == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.autoclaveRecipes.addRecipe( - true, - new ItemStack[] { aInput, aCircuit }, - new ItemStack[] { aOutput }, - null, - new int[] { aChance }, - new FluidStack[] { aFluidIn }, - new FluidStack[] { aFluidOut }, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Override - @Deprecated - public boolean addAutoclaveSpaceRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, - int aDuration, int aEUt, boolean aCleanroom) { - return addAutoclaveRecipe(aInput, aFluid, aOutput, aChance, aDuration, aEUt, aCleanroom); - } - - @Override - @Deprecated - public boolean addAutoclaveSpaceRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluid, ItemStack aOutput, - int aChance, int aDuration, int aEUt, boolean aCleanroom) { - if ((aInput == null) || (aFluid == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.autoclaveRecipes.addRecipe( - true, - new ItemStack[] { aInput, aCircuit }, - new ItemStack[] { aOutput }, - null, - new int[] { aChance }, - new FluidStack[] { aFluid }, - null, - aDuration, - aEUt, - aCleanroom ? -100 : 0); - return true; - } - - @Override - @Deprecated - public boolean addAutoclave4Recipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, FluidStack aFluidOut, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean aCleanroom) { - if ((aInput == null) || (aFluidIn == null) || (aOutputs == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.autoclaveRecipes.addRecipe( - true, - new ItemStack[] { aInput, aCircuit }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidIn }, - new FluidStack[] { aFluidOut }, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt) { - return addMixerRecipe( - aInput1, - aInput2, - aInput3, - aInput4, - null, - null, - null, - null, - null, - aFluidInput, - aFluidOutput, - aOutput, - aDuration, - aEUt); - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, - int aDuration, int aEUt) { - return addMixerRecipe( - aInput1, - aInput2, - aInput3, - aInput4, - aInput5, - aInput6, - null, - null, - null, - aFluidInput, - aFluidOutput, - aOutput, - aDuration, - aEUt); - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt) { - if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput == null) && (aFluidOutput == null))) { - return false; - } - if ((aOutput != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidOutput != null) && (aDuration <= 0)) { - return false; - } - RecipeMaps.mixerRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }, - new ItemStack[] { aOutput }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - ItemStack[] itemInputs = { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }; - ItemStack[] itemOutputs = { aOutput }; - FluidStack[] fluidInputs = { aFluidInput, null, null, null, null, null, null, null, null, null }; - FluidStack[] fluidOutputs = { aFluidOutput, null }; - - byte iNumber = 0; - byte oNumber = 0; - - for (ItemStack item : itemInputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(aInput1, true) != null || GT_Utility.isCellEmpty(item)) { - fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); - itemInputs[iNumber] = null; - } - } - iNumber++; - } - - for (ItemStack item : itemOutputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { - fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); - itemOutputs[oNumber] = null; - } - } - oNumber++; - } - - RecipeMaps.mixerNonCellRecipes - .addRecipe(false, itemInputs, itemOutputs, null, null, fluidInputs, fluidOutputs, aDuration, aEUt, 0); - return true; - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] ItemOutputArray, - FluidStack[] FluidOutputArray, int aDuration, int aEUt) { - RecipeMaps.mixerRecipes.addRecipe( - false, - ItemInputArray, - ItemOutputArray, - null, - null, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - 0); - List<ItemStack> tItemInputList; - if (ItemInputArray == null) { - tItemInputList = new ArrayList<>(1); - } else { - tItemInputList = new ArrayList<>(Arrays.asList(ItemInputArray)); - } - List<FluidStack> tFluidInputList; - if (FluidInputArray != null) { - tFluidInputList = new ArrayList<>(Arrays.asList(FluidInputArray)); - } else { - tFluidInputList = new ArrayList<>(1); - } - for (int i = 0; i < tItemInputList.size(); i++) { - if (tItemInputList.get(i) != null) { - if (GT_Utility.getFluidForFilledItem(tItemInputList.get(i), true) != null - || GT_Utility.isCellEmpty(tItemInputList.get(i))) { - tFluidInputList.add(GT_Utility.convertCellToFluid(tItemInputList.get(i))); - tItemInputList.set(i, null); - } - } - } - List<ItemStack> tItemOutputList; - if (ItemOutputArray == null) { - tItemOutputList = new ArrayList<>(1); - } else { - tItemOutputList = new ArrayList<>(Arrays.asList(ItemOutputArray)); - } - List<FluidStack> tFluidOutputList; - if (FluidOutputArray != null) { - tFluidOutputList = new ArrayList<>(Arrays.asList(FluidOutputArray)); - } else { - tFluidOutputList = new ArrayList<>(1); - } - for (int i = 0; i < tItemOutputList.size(); i++) { - if (tItemOutputList.get(i) != null) { - if (GT_Utility.getFluidForFilledItem(tItemOutputList.get(i), true) != null - || GT_Utility.isCellEmpty(tItemOutputList.get(i))) { - tFluidInputList.add(GT_Utility.convertCellToFluid(tItemOutputList.get(i))); - tItemOutputList.set(i, null); - } - } - } - - ItemStack[] tItemInputArray = new ItemStack[tItemInputList.size()]; - for (int i = 0; i < tItemInputArray.length; i++) tItemInputArray[i] = tItemInputList.get(i); - - FluidStack[] tFluidInputArray = new FluidStack[tFluidInputList.size()]; - for (int i = 0; i < tFluidInputArray.length; i++) tFluidInputArray[i] = tFluidInputList.get(i); - - ItemStack[] tItemOutputArray = new ItemStack[tItemOutputList.size()]; - for (int i = 0; i < tItemOutputArray.length; i++) tItemOutputArray[i] = tItemOutputList.get(i); - - FluidStack[] tFluidOutputArray = new FluidStack[tFluidOutputList.size()]; - for (int i = 0; i < tFluidOutputArray.length; i++) tFluidOutputArray[i] = tFluidOutputList.get(i); - - RecipeMaps.mixerNonCellRecipes.addRecipe( - false, - tItemInputArray, - tItemOutputArray, - null, - null, - tFluidInputArray, - tFluidOutputArray, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - ItemStack aOutput4, int aDuration, int aEUt) { - if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) { - return false; - } - if ((aOutput1 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidOutput != null) && (aDuration <= 0)) { - return false; - } - RecipeMaps.mixerRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - ItemStack[] itemInputs = { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }; - ItemStack[] itemOutputs = { aOutput1, aOutput2, aOutput3, aOutput4 }; - FluidStack[] fluidInputs = { aFluidInput, null, null, null, null, null, null, null, null, null }; - FluidStack[] fluidOutputs = { aFluidOutput, null, null, null, null }; - - byte iNumber = 0; - byte oNumber = 0; - - for (ItemStack item : itemInputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(aInput1, true) != null || GT_Utility.isCellEmpty(item)) { - fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); - itemInputs[iNumber] = null; - } - } - iNumber++; - } - - for (ItemStack item : itemOutputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { - fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); - itemOutputs[oNumber] = null; - } - } - oNumber++; - } - - RecipeMaps.mixerNonCellRecipes - .addRecipe(false, itemInputs, itemOutputs, null, null, fluidInputs, fluidOutputs, aDuration, aEUt, 0); - return true; - } - - @Deprecated - @Override - public boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, - int aDuration, int aEUt) { - return addLaserEngraverRecipe(aItemToEngrave, aLens, aEngravedItem, aDuration, aEUt, false); - } - - @Deprecated - @Override - public boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, - int aDuration, int aEUt, boolean aCleanroom) { - if ((aItemToEngrave == null) || (aLens == null) || (aEngravedItem == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.laserEngraverRecipes.addRecipe( - true, - new ItemStack[] { aItemToEngrave, aLens }, - new ItemStack[] { aEngravedItem }, - null, - null, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - @Override - public boolean addLaserEngraverRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt, boolean aCleanroom) { - RecipeMaps.laserEngraverRecipes.addRecipe( - false, - ItemInputArray, - OutputItemArray, - null, - null, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - @Override - public boolean addFormingPressRecipe(ItemStack aItemToImprint, ItemStack aForm, ItemStack aImprintedItem, - int aDuration, int aEUt) { - if ((aItemToImprint == null) || (aForm == null) || (aImprintedItem == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.formingPressRecipes.addRecipe( - true, - new ItemStack[] { aItemToImprint, aForm }, - new ItemStack[] { aImprintedItem }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addFormingPressRecipe(ItemStack[] ItemInputArray, ItemStack[] OutputItemArray, int aDuration, - int aEUt) { - if ((ItemInputArray == null) || (OutputItemArray == null)) { - return false; - } - RecipeMaps.formingPressRecipes - .addRecipe(true, ItemInputArray, OutputItemArray, null, null, null, aDuration, aEUt, 0); - return true; - } - - @Deprecated - @Override - public boolean addFluidHeaterRecipe(ItemStack aItem, FluidStack aOutput, int aDuration, int aEUt) { - if ((aItem == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidHeaterRecipes.addRecipe( - true, - new ItemStack[] { aItem }, - null, - null, - null, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addFluidHeaterRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidHeaterRecipes.addRecipe( - true, - new ItemStack[] { aCircuit }, - null, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addSifterRecipe(ItemStack aItemToSift, ItemStack[] aSiftedItems, int[] aChances, int aDuration, - int aEUt) { - if ((aItemToSift == null) || (aSiftedItems == null)) { - return false; - } - for (ItemStack tStack : aSiftedItems) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - RecipeMaps.sifterRecipes.addRecipe( - true, - new ItemStack[] { aItemToSift }, - aSiftedItems, - null, - aChances, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - } - return false; - } - - @Deprecated - @Override - public boolean addSifterRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int[] aChances, int aDuration, int aEUt, - boolean aCleanroom) { - RecipeMaps.sifterRecipes.addRecipe( - false, - ItemInputArray, - OutputItemArray, - null, - aChances, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - @Override - public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, - int aEUt) { - return addArcFurnaceRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false); - } - - @Deprecated - @Override - public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, - boolean hidden) { - if ((aInput == null) || (aOutputs == null)) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - GT_Recipe sRecipe = RecipeMaps.arcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { Materials.Oxygen.getGas(aDuration) }, - null, - aDuration, - Math.max(1, aEUt), - 0); - if ((hidden) && (sRecipe != null)) { - sRecipe.mHidden = true; - } - for (Materials tMaterial : new Materials[] { Materials.Argon, Materials.Nitrogen }) { - if (tMaterial.mPlasma != null) { - int tPlasmaAmount = (int) Math.max(1L, aDuration / (tMaterial.getMass() * 16L)); - GT_Recipe tRecipe = RecipeMaps.plasmaArcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { tMaterial.getPlasma(tPlasmaAmount) }, - new FluidStack[] { tMaterial.getGas(tPlasmaAmount) }, - Math.max(1, aDuration / 16), - Math.max(1, aEUt / 3), - 0); - if ((hidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - } - } - return true; - } - } - return false; - } - - @Override - @Deprecated - public boolean addSimpleArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutputs == null) || aFluidInput == null) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - RecipeMaps.arcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - null, - aDuration, - Math.max(1, aEUt), - 0); - return true; - } - } - return false; - } - - @Override - @Deprecated - public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutputs == null) || aFluidInput == null) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - RecipeMaps.plasmaArcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - null, - aDuration, - Math.max(1, aEUt), - 0); - return true; - } - } - return false; - } - - @Override - @Deprecated - public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutputs == null) || aFluidInput == null) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - RecipeMaps.plasmaArcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - Math.max(1, aEUt), - 0); - return true; - } - } - return false; - } - - @Deprecated - @Override - public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, - int aEUt) { - return addPulveriserRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false); - } - - @Deprecated - @Override - public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, - boolean hidden) { - if ((aInput == null) || (aOutputs == null)) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.maceratorRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - null, - null, - aDuration, - aEUt, - 0); - if ((hidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - } - return false; - } - - @Override - @Deprecated - public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, - FluidStack aFluidOutput, int aDuration, int aEUt) { - if (aInput == null) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.pyrolyseRecipes.addRecipe( - false, - new ItemStack[] { aInput, ItemList.Circuit_Integrated.getWithDamage(0L, intCircuit) }, - new ItemStack[] { aOutput }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addCrackingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt) { - return false; - } - - @Override - @Deprecated - public boolean addCrackingRecipe(int circuitConfig, FluidStack aInput, FluidStack aInput2, FluidStack aOutput, - int aDuration, int aEUt) { - if ((aInput == null && aInput2 == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.crackingRecipes.addRecipe( - false, - new ItemStack[] { GT_Utility.getIntegratedCircuit(circuitConfig) }, - null, - null, - null, - new FluidStack[] { aInput, aInput2 }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { - if ((aResearchItem == null) || (aResearchTime <= 0) - || (aInputs == null) - || (aOutput == null) - || aInputs.length > 15 - || aInputs.length < 4) { - return false; - } - if (aDuration <= 0) { - return false; - } - for (ItemStack tItem : aInputs) { - if (tItem == null) { - GT_FML_LOGGER.info( - "addAssemblingLineRecipe " + aResearchItem.getDisplayName() - + " --> " - + aOutput.getUnlocalizedName() - + " there is some null item in that recipe"); - } - } - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { aResearchItem }, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result") }, - null, - null, - aResearchTime, - 30, - -201); - RecipeMaps.assemblylineVisualRecipes.addFakeRecipe( - false, - aInputs, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Reads Research result") }, - aFluidInputs, - null, - aDuration, - aEUt, - 0, - false); - GT_Recipe_AssemblyLine tRecipe = new GT_Recipe_AssemblyLine( - aResearchItem, - aResearchTime, - aInputs, - aFluidInputs, - aOutput, - aDuration, - aEUt); - GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(tRecipe); - GT_AssemblyLineUtils.addRecipeToCache(tRecipe); - return true; - } - - @Override - @Deprecated - public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, Object[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { - if ((aResearchItem == null) || (aResearchTime <= 0) - || (aInputs == null) - || (aOutput == null) - || aInputs.length > 15 - || aInputs.length < 4) { - return false; - } - if (aDuration <= 0) { - return false; - } - ItemStack[] tInputs = new ItemStack[aInputs.length]; - ItemStack[][] tAlts = new ItemStack[aInputs.length][]; - int tPersistentHash = 1; - for (int i = 0; i < aInputs.length; i++) { - Object obj = aInputs[i]; - if (obj instanceof ItemStack) { - tInputs[i] = (ItemStack) obj; - tAlts[i] = null; - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tInputs[i], true, false); - continue; - } else if (obj instanceof ItemStack[]aStacks) { - if (aStacks.length > 0) { - tInputs[i] = aStacks[0]; - tAlts[i] = Arrays.copyOf(aStacks, aStacks.length); - for (ItemStack tAlt : tAlts[i]) { - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tAlt, true, false); - } - tPersistentHash *= 31; - continue; - } - } else if (obj instanceof Object[]objs) { - List<ItemStack> tList; - if (objs.length >= 2 && !(tList = GT_OreDictUnificator.getOres(objs[0])).isEmpty()) { - try { - // sort the output, so the hash code is stable across launches - tList.sort( - Comparator - .<ItemStack, String>comparing( - s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) - .thenComparing(s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).name) - .thenComparingInt(Items.feather::getDamage) - .thenComparingInt(s -> s.stackSize)); - int tAmount = ((Number) objs[1]).intValue(); - List<ItemStack> uList = new ArrayList<>(); - for (ItemStack tStack : tList) { - ItemStack uStack = GT_Utility.copyAmount(tAmount, tStack); - if (GT_Utility.isStackValid(uStack)) { - uList.add(uStack); - if (tInputs[i] == null) tInputs[i] = uStack; - } - } - tAlts[i] = uList.toArray(new ItemStack[0]); - tPersistentHash = tPersistentHash * 31 + (objs[0] == null ? "" : objs[0].toString()).hashCode(); - tPersistentHash = tPersistentHash * 31 + tAmount; - continue; - } catch (Exception ignored) {} - } - } - GT_FML_LOGGER.info( - "addAssemblingLineRecipe " + aResearchItem.getDisplayName() - + " --> " - + aOutput.getUnlocalizedName() - + " there is some null item in that recipe"); - } - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aResearchItem, true, false); - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aOutput, true, false); - for (FluidStack tFluidInput : aFluidInputs) { - if (tFluidInput == null) continue; - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tFluidInput, true, false); - } - tPersistentHash = tPersistentHash * 31 + aResearchTime; - tPersistentHash = tPersistentHash * 31 + aDuration; - tPersistentHash = tPersistentHash * 31 + aEUt; - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { aResearchItem }, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result") }, - null, - null, - aResearchTime, - 30, - -201); - RecipeMaps.assemblylineVisualRecipes.addFakeRecipe( - false, - tInputs, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Reads Research result") }, - aFluidInputs, - null, - aDuration, - aEUt, - 0, - tAlts, - false); - GT_Recipe_AssemblyLine tRecipe = new GT_Recipe_AssemblyLine( - aResearchItem, - aResearchTime, - tInputs, - aFluidInputs, - aOutput, - aDuration, - aEUt, - tAlts); - tRecipe.setPersistentHash(tPersistentHash); - GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(tRecipe); - GT_AssemblyLineUtils.addRecipeToCache(tRecipe); - return true; - } - - @Override - @Deprecated - public boolean addCircuitAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, - int aDuration, int aEUt) { - return addCircuitAssemblerRecipe(aInputs, aFluidInput, aOutput, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addCircuitAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, - int aDuration, int aEUt, boolean aCleanroom) { - - if (this.areItemsAndFluidsBothNull(aInputs, new FluidStack[] { aFluidInput })) { - return false; - } - - if (aDuration <= 0) { - return false; - } - - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - - if (!GT_Utility.isStackValid(aOutput)) { - return false; - } - - for (int oreID : OreDictionary.getOreIDs(aOutput)) { - if (OreDictionary.getOreName(oreID) - .startsWith("circuit")) { - return this - .addCircuitAssemblerRecipeNonOredicted(aInputs, aFluidInput, aOutput, aDuration, aEUt, aCleanroom); - } - } - - RecipeMaps.circuitAssemblerRecipes.addRecipe( - true, - aInputs, - new ItemStack[] { aOutput }, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - public boolean addCircuitAssemblerRecipeNonOredicted(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, - int aDuration, int aEUt, boolean aCleanroom) { - if ((aInputs == null) || (aOutput == null) || aInputs.length > 6 || aInputs.length < 1) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.circuitAssemblerRecipes.addRecipe( - true, - aInputs, - new ItemStack[] { aOutput }, - null, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Override - @Deprecated - public boolean addNanoForgeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int[] aChances, int aDuration, int aEUt, int aSpecialValue) { - if (aInputs == null || aOutputs == null || aSpecialValue == 0) return false; - - RecipeMaps.nanoForgeRecipes.addRecipe( - new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)); - return true; - } - - @Override - public GT_Recipe addIC2ReactorBreederCell(ItemStack input, ItemStack output, boolean reflector, int heatStep, - int heatMultiplier, int requiredPulses) { - return GT_Values.RA.stdBuilder() - .itemInputs(input) - .itemOutputs(output) - .setNEIDesc( - reflector ? "Neutron reflecting Breeder" : "Heat neutral Breeder", - String.format("Every %d reactor hull heat", heatStep), - String.format("increase speed by %d00%%", heatMultiplier), - String.format("Required pulses: %d", requiredPulses)) - .duration(0) - .eut(0) - .addTo(RecipeMaps.ic2NuclearFakeRecipes) - .stream() - .findFirst() - .orElse(null); - } - - @Override - public GT_Recipe addIC2ReactorFuelCell(ItemStack input, ItemStack output, boolean aMox, float aHeat, float aEnergy, - int aCells) { - // for the mysterious constant 5.0f, - // see ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric.getOfferedEnergy - // don't ask, just accept - int pulses = aCells / 2 + 1; - float nukePowerMult = 5.0f * ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/nuclear"); - return GT_Values.RA.stdBuilder() - .itemInputs(input) - .itemOutputs(output) - .setNEIDesc( - aMox ? "MOX Model" : "Uranium Model", - "Neutron Pulse: " + aCells, - aCells == 1 ? String.format("Heat: %.1f * n1 * (n1 + 1)", aHeat / 2f) - : String.format("Heat: %.1f * (%d + n1) * (%d + n1)", aHeat * aCells / 2f, aCells, aCells + 1), - String.format( - "Energy: %.1f + n2 * %.1f EU/t", - aEnergy * aCells * pulses * nukePowerMult, - aEnergy * nukePowerMult)) - .duration(0) - .eut(0) - .addTo(RecipeMaps.ic2NuclearFakeRecipes) - .stream() - .findFirst() - .orElse(null); - } - - private boolean areItemsAndFluidsBothNull(ItemStack[] items, FluidStack[] fluids) { - boolean itemsNull = true; - if (items != null) { - for (ItemStack itemStack : items) { - if (itemStack != null) { - itemsNull = false; - break; - } - } - } - boolean fluidsNull = true; - if (fluids != null) { - for (FluidStack fluidStack : fluids) { - if (fluidStack != null) { - fluidsNull = false; - break; - } - } - } - return itemsNull && fluidsNull; - } - - @Override public GT_RecipeBuilder stdBuilder() { return GT_RecipeBuilder.builder(); } diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 809c73c2e7..d603d7b004 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -1,5 +1,6 @@ package gregtech.common.items; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.Textures.BlockIcons.COVER_WOOD_PLATE; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR; @@ -34,6 +35,7 @@ import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_ZPM; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.cannerRecipes; import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.packagerRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; @@ -518,9 +520,6 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { public static GT_MetaGenerated_Item_01 INSTANCE; private final String mToolTipPurify = GT_LanguageManager .addStringLocalization("metaitem.01.tooltip.purify", "Throw into Cauldron to get clean Dust"); - private static final String aTextArrow = " A"; - private static final String aTextStick = " S "; - private static final String aTextFeather = "F "; private static final String aTextEmptyRow = " "; private static final String aTextShape = " P "; private static final String PartCoverText = " L/t ("; @@ -3287,7 +3286,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void compressorRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 8L)) .itemOutputs(new ItemStack(this, 1, 17000 + Materials.Wood.mMetaItemSubID)) .duration(15 * SECONDS) @@ -3642,7 +3641,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void assemblerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L), @@ -3652,7 +3651,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(1) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Aluminium, 2L), @@ -3662,7 +3661,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(1) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Steel, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.AnyBronze, 4L), @@ -3672,7 +3671,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.TungstenSteel, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Platinum, 4L), @@ -3682,7 +3681,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Aluminium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Silver, 4L), @@ -3692,7 +3691,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(64) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.StainlessSteel, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Electrum, 4L), @@ -3702,7 +3701,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Titanium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.RoseGold, 4L), @@ -3712,7 +3711,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(256) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Chrome, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Palladium, 4L), @@ -3722,7 +3721,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(1024) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Naquadah, 4L), @@ -3732,7 +3731,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_EV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.ElectrumFlux, 4L), @@ -3742,7 +3741,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(4096) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Draconium, 4L), @@ -3752,7 +3751,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_IV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), ItemList.Large_Fluid_Cell_Aluminium.get(1), @@ -3762,7 +3761,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(1) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Phosphorus, 1L), @@ -3771,7 +3770,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(16 * TICKS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.TricalciumPhosphate, 1L), @@ -3780,7 +3779,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(16 * TICKS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 1L), @@ -3789,7 +3788,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(3 * SECONDS + 4 * TICKS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 1L), @@ -3799,7 +3798,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Invar, 2L), new ItemStack(Items.flint, 1), @@ -3809,7 +3808,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Platinum, 2L), new ItemStack(Items.flint, 1), @@ -3819,7 +3818,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(256) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 2L), @@ -3828,7 +3827,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L), @@ -3837,7 +3836,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 2L), @@ -3846,7 +3845,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L), @@ -3855,7 +3854,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 2L), @@ -3864,7 +3863,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L), @@ -3873,7 +3872,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L), @@ -3882,7 +3881,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * MINUTES + 20 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L), @@ -3891,7 +3890,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * MINUTES + 20 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L), @@ -3901,7 +3900,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Sensor_EV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1L), @@ -3911,7 +3910,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), ItemList.Cover_Drain.get(1L), @@ -3920,7 +3919,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), ItemList.Cover_Drain.get(1L), @@ -3929,7 +3928,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), ItemList.Cover_Drain.get(1L), @@ -3938,7 +3937,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L), new ItemStack(Blocks.iron_bars, 2), @@ -3947,7 +3946,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 2L), new ItemStack(Blocks.iron_bars, 2), @@ -3956,7 +3955,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 2L), new ItemStack(Blocks.iron_bars, 2), @@ -3965,7 +3964,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), new ItemStack(Blocks.crafting_table, 1), @@ -3974,7 +3973,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), new ItemStack(Blocks.crafting_table, 1), @@ -3983,7 +3982,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), new ItemStack(Blocks.crafting_table, 1), @@ -3992,7 +3991,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_Screen.get(1L), ItemList.Cover_FluidDetector.get(1L), @@ -4002,14 +4001,14 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(4) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Sensor_LV.get(1L), ItemList.Emitter_LV.get(1L), GT_Utility.getIntegratedCircuit(1)) .itemOutputs(ItemList.NC_SensorKit.get(1L)) .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Emitter_EV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 1L), @@ -4018,7 +4017,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Sensor_EV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 1L), @@ -4028,7 +4027,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Emitter_MV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), @@ -4038,7 +4037,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 2L), ItemList.Component_Filter.get(1L), @@ -4048,7 +4047,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * SECONDS) .eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 2L), ItemList.Component_Filter.get(1L), @@ -4061,7 +4060,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void cannerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 2L), ItemList.Battery_Hull_LV.get(1L)) @@ -4069,7 +4068,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 2L), ItemList.Battery_Hull_LV.get(1L)) @@ -4077,7 +4076,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 2L), ItemList.Battery_Hull_LV.get(1L)) @@ -4085,7 +4084,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 8L), ItemList.Battery_Hull_MV.get(1L)) @@ -4093,7 +4092,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 8L), ItemList.Battery_Hull_MV.get(1L)) @@ -4101,7 +4100,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 8L), ItemList.Battery_Hull_MV.get(1L)) @@ -4109,7 +4108,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 32L), ItemList.Battery_Hull_HV.get(1L)) @@ -4117,7 +4116,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 32L), ItemList.Battery_Hull_HV.get(1L)) @@ -4125,7 +4124,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 32L), ItemList.Battery_Hull_HV.get(1L)) @@ -4136,7 +4135,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void packagerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Tool_Matches.get(16L), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Paper, 1L)) @@ -4144,7 +4143,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(3 * SECONDS + 4 * TICKS) .eut(16) .addTo(packagerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Tool_MatchBox_Full.get(1L)) .itemOutputs(ItemList.Tool_Matches.get(16L)) .duration(1 * SECONDS + 12 * TICKS) @@ -4153,24 +4152,96 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void extractorRecipes() { - GT_ModHandler - .addExtractionRecipe(ItemList.Battery_SU_LV_SulfuricAcid.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_SU_LV_Mercury.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler - .addExtractionRecipe(ItemList.Battery_SU_MV_SulfuricAcid.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_SU_MV_Mercury.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler - .addExtractionRecipe(ItemList.Battery_SU_HV_SulfuricAcid.get(1L), ItemList.Battery_Hull_HV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_SU_HV_Mercury.get(1L), ItemList.Battery_Hull_HV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_LV_Cadmium.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_LV_Lithium.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_LV_Sodium.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_MV_Cadmium.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_MV_Lithium.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_MV_Sodium.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_HV_Cadmium.get(1L), ItemList.Battery_Hull_HV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_HV_Lithium.get(1L), ItemList.Battery_Hull_HV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_HV_Sodium.get(1L), ItemList.Battery_Hull_HV.get(1L)); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_LV_SulfuricAcid.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_LV_Mercury.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_MV_SulfuricAcid.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_MV_Mercury.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_HV_SulfuricAcid.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_HV_Mercury.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_LV_Cadmium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_LV_Lithium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_LV_Sodium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_MV_Cadmium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_MV_Lithium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_MV_Sodium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_HV_Cadmium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_HV_Lithium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_HV_Sodium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); } private void craftingShapedRecipes() { diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java index f7a2a37a2d..d1e657c2c8 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java @@ -1,5 +1,6 @@ package gregtech.common.items; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ADVANCED_REDSTONE_RECEIVER; @@ -10,6 +11,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_ITEM_DETEC import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_MAINTENANCE_DETECTOR; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; @@ -2526,7 +2528,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { } public void initAssemblerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_RedstoneTransmitterExternal.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L), @@ -2535,7 +2537,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_RedstoneReceiverExternal.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L), @@ -2544,7 +2546,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_FluidDetector.get(1L), ItemList.Emitter_EV.get(1L), @@ -2553,7 +2555,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_ItemDetector.get(1L), ItemList.Emitter_EV.get(1L), @@ -2562,7 +2564,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_NeedsMaintainance.get(1L), ItemList.Emitter_EV.get(1L), @@ -2571,7 +2573,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_ActivityDetector.get(1L), ItemList.Emitter_EV.get(1L), @@ -2598,117 +2600,208 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { } public void initExtractorRecipes() { - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 0), new ItemStack(Items.dye, 2, 1)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 1), new ItemStack(Items.dye, 2, 12)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 2), new ItemStack(Items.dye, 2, 13)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 3), new ItemStack(Items.dye, 2, 7)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 4), new ItemStack(Items.dye, 2, 1)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 5), new ItemStack(Items.dye, 2, 14)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 6), new ItemStack(Items.dye, 2, 7)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 7), new ItemStack(Items.dye, 2, 9)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 8), new ItemStack(Items.dye, 2, 7)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.yellow_flower, 1, 0), new ItemStack(Items.dye, 2, 11)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.double_plant, 1, 0), new ItemStack(Items.dye, 3, 11)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.double_plant, 1, 1), new ItemStack(Items.dye, 3, 13)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.double_plant, 1, 4), new ItemStack(Items.dye, 3, 1)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.double_plant, 1, 5), new ItemStack(Items.dye, 3, 9)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_Plumbilia.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_Argentia.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Indigo.get(1L), ItemList.Dye_Indigo.get(1L)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_MilkWart.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Milk, 1L)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_Coppon.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_Tine.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1L)); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 0)) + .itemOutputs(new ItemStack(Items.dye, 2, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 1)) + .itemOutputs(new ItemStack(Items.dye, 2, 12)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 2)) + .itemOutputs(new ItemStack(Items.dye, 2, 13)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 3)) + .itemOutputs(new ItemStack(Items.dye, 2, 7)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 4)) + .itemOutputs(new ItemStack(Items.dye, 2, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 5)) + .itemOutputs(new ItemStack(Items.dye, 2, 14)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 6)) + .itemOutputs(new ItemStack(Items.dye, 2, 7)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 7)) + .itemOutputs(new ItemStack(Items.dye, 2, 9)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 8)) + .itemOutputs(new ItemStack(Items.dye, 2, 7)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.yellow_flower, 1, 0)) + .itemOutputs(new ItemStack(Items.dye, 2, 11)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 0)) + .itemOutputs(new ItemStack(Items.dye, 3, 11)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 1)) + .itemOutputs(new ItemStack(Items.dye, 3, 13)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 4)) + .itemOutputs(new ItemStack(Items.dye, 3, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 5)) + .itemOutputs(new ItemStack(Items.dye, 3, 9)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Plumbilia.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Argentia.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Indigo.get(1L)) + .itemOutputs(ItemList.Dye_Indigo.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_MilkWart.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Milk, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Coppon.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Tine.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + } public void initCompressorRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Coppon.get(4L)) .itemOutputs(new ItemStack(Blocks.wool, 1, 1)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Plumbilia.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Argentia.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Indigo.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Ferru.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Aurelia.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_OilBerry.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_BobsYerUncleRanks.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Tine.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Rape.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Blocks.red_flower, 8, 32767)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Blocks.yellow_flower, 8, 32767)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) @@ -2717,56 +2810,56 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { } public void initMaceratorRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Food_Sliced_Cheese.get(1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cheese, 1L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Dye_Cocoa.get(1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Tine.get(1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Blocks.pumpkin, 1, 0)) .itemOutputs(new ItemStack(Items.pumpkin_seeds, 4, 0)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Items.melon, 1, 0)) .itemOutputs(new ItemStack(Items.melon_seeds, 1, 0)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_ModHandler.getIC2Item("crop", 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Items.stick, 1)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Blocks.wool, 1, WILDCARD)) .itemOutputs(new ItemStack(Items.string, 2), new ItemStack(Items.string, 1)) .outputChances(10000, 5000) @@ -2774,7 +2867,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Tesseract.get(1)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.TranscendentMetal, 8L)) .duration(5 * SECONDS) diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java index 0343362c77..bed97ca010 100644 --- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java +++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java @@ -3,6 +3,12 @@ package gregtech.loaders.load; import static gregtech.api.enums.Mods.BloodMagic; import static gregtech.api.enums.Mods.EnderIO; import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.recipe.RecipeMaps.extremeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.hugeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.largeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.magicFuels; +import static gregtech.api.recipe.RecipeMaps.smallNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.ultraHugeNaquadahReactorFuels; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; @@ -16,11 +22,9 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.fluid.GT_FluidFactory; -import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_RecipeConstants; public class GT_FuelLoader implements Runnable { @@ -39,117 +43,79 @@ public class GT_FuelLoader implements Runnable { ItemList.sLeadZincSolution = GT_FluidFactory .of("leadzincsolution", "Lead-Zinc solution", null, FluidState.LIQUID, 295); ItemList.sRocketFuel = GT_FluidFactory.of("rocket_fuel", "Rocket Fuel", null, FluidState.LIQUID, 295); - new GT_Recipe( - new ItemStack(Items.lava_bucket), - new ItemStack(Blocks.obsidian), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1L), - 30, - 2); - RecipeMaps.smallNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 50000); - RecipeMaps.largeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 250000); - RecipeMaps.hugeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 500000); - RecipeMaps.extremeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 250000); - RecipeMaps.ultraHugeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 1000000); - RecipeMaps.fluidNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 1400000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 50_000) + .addTo(smallNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 250_000) + .addTo(largeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 500_000) + .addTo(hugeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 250_000) + .addTo(extremeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 1_000_000) + .addTo(ultraHugeNaquadahReactorFuels); // BloodMagic - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L) }, - null, - null, - null, - 0, - 0, - 400); - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, - null, - null, - null, - 0, - 0, - 1000); - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, - null, - null, - null, - 0, - 0, - 8000); - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, - null, - null, - null, - 0, - 0, - 20000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 400) + .addTo(magicFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 1000) + .addTo(magicFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 8000) + .addTo(magicFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 20000) + .addTo(magicFuels); GT_Values.RA.stdBuilder() .itemInputs(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1L, 4)) diff --git a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java index 26534f5414..a44b411ba0 100644 --- a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java +++ b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java @@ -240,10 +240,6 @@ public class GT_ItemIterator implements Runnable { .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_ModHandler.addSawmillRecipe( - new ItemStack(tItem, 1, 0), - new ItemStack(Items.stick, 4), - new ItemStack(Items.stick, 2)); GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(tItem, 1, 1)) .itemOutputs(new ItemStack(Items.stick, 4)) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java index 5a6bdfcf13..f7057065eb 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java @@ -1,8 +1,11 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; @@ -11,7 +14,6 @@ import java.util.ArrayList; import net.minecraft.item.ItemStack; -import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -39,11 +41,16 @@ public class ProcessingCell implements IOreRecipeRegistrator { if (aMaterial == Materials.Empty) { GT_ModHandler.removeRecipeByOutputDelayed(aStack); if (aModName.equalsIgnoreCase("AtomicScience")) { - GT_ModHandler.addExtractionRecipe(ItemList.Cell_Empty.get(1L), aStack); + RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(1L)) + .itemOutputs(aStack) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); } } else { if (aMaterial.mFuelPower > 0) { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); recipeBuilder.itemInputs(GT_Utility.copyAmount(1, aStack)); if (GT_Utility.getFluidForFilledItem(aStack, true) == null && GT_Utility.getContainerItem(aStack, true) != null) { @@ -122,7 +129,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { // Electrolyzer recipe if (GT_Utility.getFluidForFilledItem(aStack, true) == null) { // dust stuffed cell e.g. Phosphate, Phosphorous Pentoxide - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); if (tCapsuleCount > 0L) { recipeBuilder.itemInputs( GT_Utility.copyAmount(tItemAmount, aStack), @@ -140,7 +147,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { .addTo(electrolyzerRecipes); } else { long tCellBalance = tCapsuleCount + tItemAmount - 1; - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); if (tCellBalance > 0L) { recipeBuilder.itemInputs(aStack, ItemList.Cell_Empty.get(tCellBalance)); } else { @@ -157,7 +164,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { } } if ((aMaterial.mExtraData & 0x2) != 0) { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); if (tCapsuleCount > 0L) { recipeBuilder.itemInputs( GT_Utility.copyAmount(tItemAmount, aStack), @@ -180,7 +187,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { if (aMaterial == Materials.Empty) { GT_ModHandler.removeRecipeByOutputDelayed(aStack); } else { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); recipeBuilder.itemInputs(GT_Utility.copyAmount(1, aStack)); if (GT_Utility.getFluidForFilledItem(aStack, true) == null && GT_Utility.getContainerItem(aStack, true) != null) { @@ -426,7 +433,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { .addTo(GT_RecipeConstants.Fuel); } if (GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L) != null) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_Utility.copyAmount(1, aStack)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L)) .duration(((int) Math.max(aMaterial.getMass() * 2L, 1L)) * TICKS) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java index 7cb26f7c36..c8a3af1130 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java @@ -290,16 +290,12 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1L)); break; case "Oilsands": - centrifugeRecipes.addRecipe( - true, - new ItemStack[] { GT_Utility.copyAmount(1, aStack) }, - null, - null, - null, - new FluidStack[] { Materials.OilHeavy.getFluid(1000) }, - 660, - 8, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack)) + .fluidOutputs(Materials.OilHeavy.getFluid(1000)) + .duration(33 * SECONDS) + .eut(8) + .addTo(centrifugeRecipes); break; case "HydratedCoal": GT_ModHandler.addSmeltingRecipe( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java index f3e82c0b0e..9661033e6a 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java @@ -1,8 +1,11 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeBuilder.WILDCARD; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import java.util.Locale; @@ -59,21 +62,21 @@ public class ProcessingDye implements IOreRecipeRegistrator { } public void registerAlloySmelter(ItemStack stack, Dyes dye) { - GT_ModHandler.addAlloySmelterRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L), - GT_Utility.copyAmount(1, stack), - new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex), - 200, - 8, - false); + RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L), + GT_Utility.copyAmount(1, stack)) + .itemOutputs(new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex)) + .duration(10 * SECONDS) + .eut(8) + .addTo(alloySmelterRecipes); - GT_ModHandler.addAlloySmelterRecipe( - new ItemStack(Blocks.glass, 8, 32767), - GT_Utility.copyAmount(1, stack), - new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex), - 200, - 8, - false); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.glass, 8, WILDCARD), GT_Utility.copyAmount(1, stack)) + .itemOutputs(new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex)) + .duration(10 * SECONDS) + .eut(8) + .addTo(alloySmelterRecipes); } public void registerChemicalReactor(ItemStack stack, Dyes dye) { diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java index 737ef4682a..5985e24dc7 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java @@ -187,10 +187,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra .duration(10 * SECONDS) .eut(8) .addTo(cutterRecipes); - GT_ModHandler.addSawmillRecipe( - new ItemStack(aStack.getItem(), 1, i), - tPlanks, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)); GT_ModHandler.removeRecipeDelayed(new ItemStack(aStack.getItem(), 1, i)); GT_ModHandler.addCraftingRecipe( GT_Utility.copyAmount( @@ -260,10 +256,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra .duration(10 * SECONDS) .eut(8) .addTo(cutterRecipes); - GT_ModHandler.addSawmillRecipe( - GT_Utility.copyAmount(1, aStack), - tPlanks, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)); GT_ModHandler.removeRecipeDelayed(GT_Utility.copyAmount(1, aStack)); GT_ModHandler.addCraftingRecipe( GT_Utility.copyAmount( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java index be8322f30c..801eaa8354 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java @@ -2,6 +2,7 @@ package gregtech.loaders.oreprocessing; import static gregtech.api.enums.GT_Values.L; import static gregtech.api.enums.GT_Values.NI; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.GT_Values.W; import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; @@ -15,6 +16,7 @@ import static gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLIS import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeBuilder.WILDCARD; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_Utility.calculateRecipeEU; @@ -552,20 +554,18 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist .addTo(alloySmelterRecipes); } case "plateAlloyAdvanced" -> { - GT_ModHandler.addAlloySmelterRecipe( - GT_Utility.copyAmount(1, aStack), - new ItemStack(Blocks.glass, 3, W), - GT_ModHandler.getIC2Item("reinforcedGlass", 4L), - 400, - 4, - false); - GT_ModHandler.addAlloySmelterRecipe( - GT_Utility.copyAmount(1, aStack), - Materials.Glass.getDust(3), - GT_ModHandler.getIC2Item("reinforcedGlass", 4L), - 400, - 4, - false); + RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack), new ItemStack(Blocks.glass, 3, WILDCARD)) + .itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L)) + .duration(20 * SECONDS) + .eut(4) + .addTo(alloySmelterRecipes); + RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack), Materials.Glass.getDust(3)) + .itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L)) + .duration(20 * SECONDS) + .eut(4) + .addTo(alloySmelterRecipes); } case "plateAlloyIridium" -> diff --git a/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java index 92221025bd..d4e653dba2 100644 --- a/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java @@ -1,18 +1,23 @@ package gregtech.loaders.postload; import gregtech.api.enums.GT_Values; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_ModHandler; public class GT_FakeRecipeLoader implements Runnable { @Override public void run() { - GT_Values.RA.addIC2ReactorBreederCell( - GT_ModHandler.getIC2Item("reactorLithiumCell", 1), - GT_ModHandler.getIC2Item("TritiumCell", 1), - true, - 3000, - 1, - 10000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorLithiumCell", 1)) + .itemOutputs(GT_ModHandler.getIC2Item("TritiumCell", 1)) + .setNEIDesc( + "Neutron reflecting Breeder", + String.format("Every %d reactor hull heat", 3_000), + String.format("increase speed by %d00%%", 1), + String.format("Required pulses: %d", 10_000)) + .duration(0) + .eut(0) + .addTo(RecipeMaps.ic2NuclearFakeRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java index dabcd93a8d..1765d9693a 100644 --- a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java +++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java @@ -4,11 +4,13 @@ import static gregtech.api.enums.Mods.BartWorks; import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.GoodGenerator; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.recipe.RecipeMaps.nanoForgeRecipes; import static gregtech.api.util.GT_ModHandler.getModItem; import static gregtech.api.util.GT_RecipeBuilder.HOURS; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.NANO_FORGE_TIER; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; @@ -23,9 +25,7 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; -import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_RecipeBuilder; public class GT_NaniteChain { @@ -86,135 +86,143 @@ public class GT_NaniteChain { */ // Carbon Nanites - Used to make more Nano Forge Controllers - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUVTierLens, getModItem(BartWorks.ID, "bw.werkstoffblockscasingadvanced.01", 8, 31776), - ItemList.Circuit_Chip_SoC.get(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(200_000) }, - new ItemStack[] { Materials.Carbon.getNanite(64), }, - null, - null, - 500 * 20, - 10_000_000, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + aUVTierLens, + getModItem(BartWorks.ID, "bw.werkstoffblockscasingadvanced.01", 8, 31776), + ItemList.Circuit_Chip_SoC.get(64)) + .itemOutputs(Materials.Carbon.getNanite(64)) + .fluidInputs(Materials.UUMatter.getFluid(200_000)) + .metadata(NANO_FORGE_TIER, 1) + .duration(8 * MINUTES + 20 * SECONDS) + .eut(10_000_000) + .addTo(nanoForgeRecipes); // Silver Nanites - Used in Tier 2 PCB Factory to improve board production - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUEVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16) }, - new FluidStack[] { Materials.UUMatter.getFluid(200000) }, - new ItemStack[] { Materials.Silver.getNanite(1) }, - null, - null, - 750 * 20, - 10_000_000, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(aUEVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16)) + .itemOutputs(Materials.Silver.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(200_000)) + .metadata(NANO_FORGE_TIER, 2) + .duration(37 * MINUTES + 30 * SECONDS) + .eut(10_000_000) + .addTo(nanoForgeRecipes); // Neutronium Nanites - Used to upgrade the Nano Forge to Tier 2 - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUHVTierLens, Materials.Neutronium.getBlocks(8), ItemList.Circuit_Chip_SoC2.get(64), - ItemList.Circuit_Chip_SoC2.get(32) }, - new FluidStack[] { Materials.UUMatter.getFluid(200000) }, - new ItemStack[] { Materials.Neutronium.getNanite(1) }, - null, - null, - 100 * 20, - 100_000_000, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + aUHVTierLens, + Materials.Neutronium.getBlocks(8), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(32)) + .itemOutputs(Materials.Neutronium.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(200_000)) + .metadata(NANO_FORGE_TIER, 1) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(100_000_000) + .addTo(nanoForgeRecipes); // Glowstone Nanites - Used in the optical circuit line - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUEVTierLens, getModItem(GTPlusPlus.ID, "blockCompressedObsidian", 8, 7), // Double - // compressed - // glowstone - // blocks - // (yes, it's - // not - // obsidian) - ItemList.Circuit_Chip_SoC2.get(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(50000) }, - new ItemStack[] { Materials.Glowstone.getNanite(64) }, - null, - null, - 200 * 20, - 50_000_000, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + aUEVTierLens, + getModItem(GTPlusPlus.ID, "blockCompressedObsidian", 8, 7), // Double compressed glowstone blocks (yes, + // it's not obsidian) + ItemList.Circuit_Chip_SoC2.get(64)) + .itemOutputs(Materials.Glowstone.getNanite(64)) + .fluidInputs(Materials.UUMatter.getFluid(50_000)) + .metadata(NANO_FORGE_TIER, 2) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(50_000_000) + .addTo(nanoForgeRecipes); // Gold Nanites - Used in Tier 3 PCB Factory to improve board production - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16) }, - new FluidStack[] { Materials.UUMatter.getFluid(300000) }, - new ItemStack[] { Materials.Gold.getNanite(1) }, - null, - null, - 1_000 * 20, - 100_000_000, - 3); + GT_Values.RA.stdBuilder() + .itemInputs(aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16)) + .itemOutputs(Materials.Gold.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(300_000)) + .metadata(NANO_FORGE_TIER, 3) + .duration(16 * MINUTES + 40 * SECONDS) + .eut(100_000_000) + .addTo(nanoForgeRecipes); // Transcendent Metal Nanites - Used to upgrade the Nano Forge to Tier 3 - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUIVTierLens, MaterialsUEVplus.TranscendentMetal.getBlocks(8), - ItemList.Circuit_Chip_SoC2.get(64), ItemList.Circuit_Chip_SoC2.get(64), - ItemList.Circuit_Chip_SoC2.get(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(2000000) }, - new ItemStack[] { MaterialsUEVplus.TranscendentMetal.getNanite(1) }, - null, - null, - 750 * 20, - 1_000_000_000, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + aUIVTierLens, + MaterialsUEVplus.TranscendentMetal.getBlocks(8), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(64)) + .itemOutputs(MaterialsUEVplus.TranscendentMetal.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(2_000_000)) + .metadata(NANO_FORGE_TIER, 2) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(1_000_000_000) + .addTo(nanoForgeRecipes); // White Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter. - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto - // lens - getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any - // better naming - MaterialsUEVplus.WhiteDwarfMatter.getBlocks(8), getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), + GT_Values.RA.stdBuilder() + .itemInputs( + aUMVTierLens, + getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto lens + getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any better + // naming + MaterialsUEVplus.WhiteDwarfMatter.getBlocks(8), + getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit - }, - new FluidStack[] { Materials.UUMatter.getFluid(500_000), MaterialsUEVplus.RawStarMatter.getFluid(50_000), - MaterialsUEVplus.Space.getMolten(720), }, - new ItemStack[] { MaterialsUEVplus.WhiteDwarfMatter.getNanite(4) }, - null, - null, - 750 * 20, - 2_000_000_000, - 3); + ) + .itemOutputs(MaterialsUEVplus.WhiteDwarfMatter.getNanite(4)) + .fluidInputs( + Materials.UUMatter.getFluid(500_000), + MaterialsUEVplus.RawStarMatter.getFluid(50_000), + MaterialsUEVplus.Space.getMolten(720)) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); // Black Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter. - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto - // lens - getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any - // better naming - MaterialsUEVplus.BlackDwarfMatter.getBlocks(8), getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), + GT_Values.RA.stdBuilder() + .itemInputs( + aUMVTierLens, + getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto lens + getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any better + // naming + MaterialsUEVplus.BlackDwarfMatter.getBlocks(8), + getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit - }, - new FluidStack[] { Materials.UUMatter.getFluid(500_000), MaterialsUEVplus.RawStarMatter.getFluid(50_000), - MaterialsUEVplus.Time.getMolten(720), }, - new ItemStack[] { MaterialsUEVplus.BlackDwarfMatter.getNanite(4) }, - null, - null, - 750 * 20, - 2_000_000_000, - 3); + ) + .itemOutputs(MaterialsUEVplus.BlackDwarfMatter.getNanite(4)) + .fluidInputs( + Materials.UUMatter.getFluid(500_000), + MaterialsUEVplus.RawStarMatter.getFluid(50_000), + MaterialsUEVplus.Time.getMolten(720)) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); // Universium nanites. - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, + GT_Values.RA.stdBuilder() + .itemInputs( + aUMVTierLens, // Quantum Anomaly, couldn't find any better naming. - getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), MaterialsUEVplus.Universium.getBlocks(8), - - ItemList.Optically_Perfected_CPU.get(16), ItemList.Optically_Compatible_Memory.get(16), + getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), + MaterialsUEVplus.Universium.getBlocks(8), + ItemList.Optically_Perfected_CPU.get(16), + ItemList.Optically_Compatible_Memory.get(16), getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit - }, - new FluidStack[] { MaterialsUEVplus.SpaceTime.getMolten(144), Materials.Infinity.getMolten(576), - MaterialsUEVplus.PrimordialMatter.getFluid(64_000), }, - new ItemStack[] { MaterialsUEVplus.Universium.getNanite(2) }, - null, - null, - 750 * 20, - 2_000_000_000, - 3); + ) + .itemOutputs(MaterialsUEVplus.Universium.getNanite(2)) + .fluidInputs( + MaterialsUEVplus.SpaceTime.getMolten(144), + Materials.Infinity.getMolten(576), + MaterialsUEVplus.PrimordialMatter.getFluid(64_000)) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); // Eternity nanites GT_Values.RA.stdBuilder() @@ -229,12 +237,12 @@ public class GT_NaniteChain { .itemOutputs(MaterialsUEVplus.Eternity.getNanite(4)) .fluidInputs( MaterialsUEVplus.Space.getMolten(1152), - MaterialsUEVplus.ExcitedDTSC.getFluid(50000), + MaterialsUEVplus.ExcitedDTSC.getFluid(50_000), MaterialsUEVplus.PrimordialMatter.getFluid(64_000)) - .duration(750 * GT_RecipeBuilder.SECONDS) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) .eut(TierEU.RECIPE_MAX) - .specialValue(3) - .addTo(RecipeMaps.nanoForgeRecipes); + .addTo(nanoForgeRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java index e8a52dd1f8..e700ee0730 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java @@ -28,7 +28,7 @@ public class PrinterRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(ItemList.Paper_Punch_Card_Empty.get(1L)) - .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data")) + .special(ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data")) .itemOutputs(ItemList.Paper_Punch_Card_Encoded.get(1L)) .fluidInputs(getFluidStack("squidink", 36)) .duration(5 * SECONDS) @@ -37,7 +37,7 @@ public class PrinterRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3L)) - .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Book Data")) + .special(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Book Data")) .itemOutputs(ItemList.Paper_Printed_Pages.get(1L)) .fluidInputs(getFluidStack("squidink", 144)) .duration(20 * SECONDS) @@ -46,7 +46,7 @@ public class PrinterRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.map, 1, 32767)) - .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Map Data")) + .special(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Map Data")) .itemOutputs(new ItemStack(Items.filled_map, 1, 0)) .fluidInputs(getFluidStack("squidink", 144)) .duration(20 * SECONDS) |