diff options
Diffstat (limited to 'src/main/java/gregtech/common/items/ItemComb.java')
-rw-r--r-- | src/main/java/gregtech/common/items/ItemComb.java | 183 |
1 files changed, 95 insertions, 88 deletions
diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java index 60fbeb075a..8956aa4ae2 100644 --- a/src/main/java/gregtech/common/items/ItemComb.java +++ b/src/main/java/gregtech/common/items/ItemComb.java @@ -2,6 +2,10 @@ package gregtech.common.items; import static gregtech.api.enums.GT_Values.*; import static gregtech.api.enums.Mods.*; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes; +import static gregtech.api.util.GT_RecipeConstants.CLEANROOM; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import java.util.Arrays; import java.util.List; @@ -24,6 +28,7 @@ import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; import forestry.api.recipes.RecipeManagers; 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; @@ -1558,18 +1563,25 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { } public void addFluidExtractorProcess(CombType comb, FluidStack fluid, Voltage volt) { - if (fluid == null) return; - RA.addFluidExtractionRecipe( - GT_Utility.copyAmount(1, getStackForType(comb)), - null, - fluid, - 100 * 100, - (fluid.getFluid() - .getDensity() * 128 > 0 - ? (fluid.getFluid() - .getDensity() * 100) - : 128), - volt.getSimpleEnergy() / 2); + if (fluid == null) { + return; + } + + int duration = (fluid.getFluid() + .getDensity() * 128 > 0 + ? (fluid.getFluid() + .getDensity() * 100) + : 128); + int eut = volt.getSimpleEnergy() / 2; + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, getStackForType(comb))) + .noItemOutputs() + .noFluidInputs() + .fluidOutputs(fluid) + .duration(duration) + .eut(eut) + .addTo(sFluidExtractionRecipes); } /** @@ -1584,65 +1596,70 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { public void addProcessGT(CombType comb, Materials[] aMaterial, Voltage volt) { ItemStack tComb = getStackForType(comb); for (Materials materials : aMaterial) { - if (GT_OreDictUnificator.get(OrePrefixes.crushedPurified, materials, 4) != NI) { + if (GT_OreDictUnificator.get(OrePrefixes.crushedPurified, materials, 4) != null) { + ItemStack combInput; + ItemStack combOutput; + FluidStack fluidInput; + FluidStack fluidOutput; + int durationTicks; + int eut; + boolean requiresCleanroom; switch (comb) { - case NEUTRONIUM: - RA.addChemicalRecipe( - GT_Utility.copyAmount(4, tComb), - null, - volt.getFluidAccordingToCombTier(), - Materials.Neutronium.getMolten(576l), - Materials.Neutronium.getNuggets(1), - NI, - volt.getComplexTime() * 17, - volt.getChemicalEnergy(), - volt.compareTo(Voltage.IV) > 0); - case OSMIUM: - RA.addChemicalRecipe( - GT_Utility.copyAmount(4, tComb), - null, - volt.getFluidAccordingToCombTier(), - Materials.Osmium.getMolten(288l), - Materials.Osmium.getNuggets(1), - NI, - volt.getComplexTime() * 17, - volt.getChemicalEnergy(), - volt.compareTo(Voltage.IV) > 0); - case PLATINUM: - RA.addChemicalRecipe( - GT_Utility.copyAmount(4, tComb), - null, - volt.getFluidAccordingToCombTier(), - Materials.Platinum.getMolten(288l), - Materials.Platinum.getNuggets(1), - NI, - volt.getComplexTime() * 10, - volt.getChemicalEnergy(), - volt.compareTo(Voltage.HV) > 0); - case IRIDIUM: - RA.addChemicalRecipe( - GT_Utility.copyAmount(4, tComb), - null, - volt.getFluidAccordingToCombTier(), - Materials.Iridium.getMolten(288l), - Materials.Iridium.getNuggets(1), - NI, - volt.getComplexTime() * 14, - volt.getChemicalEnergy(), - volt.compareTo(Voltage.EV) > 0); - default: - RA.addChemicalRecipe( - GT_Utility.copyAmount(4, tComb), - null, - volt.getFluidAccordingToCombTier(), - null, - GT_OreDictUnificator.get(OrePrefixes.crushedPurified, materials, 4), - NI, - volt.getComplexTime(), - volt.getChemicalEnergy(), - volt.compareTo(Voltage.IV) > 0); - break; + case NEUTRONIUM -> { + combInput = GT_Utility.copyAmount(4, tComb); + combOutput = Materials.Neutronium.getNuggets(1); + fluidInput = volt.getFluidAccordingToCombTier(); + fluidOutput = Materials.Neutronium.getMolten(576); + durationTicks = volt.getComplexTime() * 17; + eut = volt.getChemicalEnergy(); + requiresCleanroom = volt.compareTo(Voltage.IV) > 0; + } + case OSMIUM -> { + combInput = GT_Utility.copyAmount(4, tComb); + combOutput = Materials.Osmium.getNuggets(1); + fluidInput = volt.getFluidAccordingToCombTier(); + fluidOutput = Materials.Osmium.getMolten(288); + durationTicks = volt.getComplexTime() * 17; + eut = volt.getChemicalEnergy(); + requiresCleanroom = volt.compareTo(Voltage.IV) > 0; + } + case PLATINUM -> { + combInput = GT_Utility.copyAmount(4, tComb); + combOutput = Materials.Platinum.getNuggets(1); + fluidInput = volt.getFluidAccordingToCombTier(); + fluidOutput = Materials.Platinum.getMolten(288); + durationTicks = volt.getComplexTime() * 10; + eut = volt.getChemicalEnergy(); + requiresCleanroom = volt.compareTo(Voltage.HV) > 0; + } + case IRIDIUM -> { + combInput = GT_Utility.copyAmount(4, tComb); + combOutput = Materials.Iridium.getNuggets(1); + fluidInput = volt.getFluidAccordingToCombTier(); + fluidOutput = Materials.Iridium.getMolten(288); + durationTicks = volt.getComplexTime() * 14; + eut = volt.getChemicalEnergy(); + requiresCleanroom = volt.compareTo(Voltage.EV) > 0; + } + default -> { + combInput = GT_Utility.copyAmount(4, tComb); + combOutput = GT_OreDictUnificator.get(OrePrefixes.crushedPurified, materials, 4); + fluidInput = volt.getFluidAccordingToCombTier(); + fluidOutput = null; + durationTicks = volt.getComplexTime(); + eut = volt.getChemicalEnergy(); + requiresCleanroom = volt.compareTo(Voltage.IV) > 0; + } } + GT_Values.RA.stdBuilder() + .itemInputs(combInput) + .itemOutputs(combOutput) + .fluidInputs(fluidInput) + .fluidOutputs(fluidOutput) + .duration(durationTicks) + .eut(eut) + .metadata(CLEANROOM, requiresCleanroom) + .addTo(UniversalChemical); } } } @@ -1719,25 +1736,15 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { RecipeManagers.centrifugeManager.addRecipe(40, tComb, Product.build()); } - aItem = Arrays.copyOf(aItem, 6); - if (aItem.length > 6) { - chance = Arrays.copyOf(chance, 6); - } - - RA.addCentrifugeRecipe( - tComb, - NI, - NF, - NF, - aItem[0], - aItem[1], - aItem[2], - aItem[3], - aItem[4], - aItem[5], - chance, - duration, - volt.getSimpleEnergy()); + GT_Values.RA.stdBuilder() + .itemInputs(tComb) + .itemOutputs(aItem) + .outputChances(chance) + .noFluidInputs() + .noFluidOutputs() + .duration(duration) + .eut(volt.getSimpleEnergy()) + .addTo(sCentrifugeRecipes); } public void registerOreDict() { |