diff options
author | boubou19 <miisterunknown@gmail.com> | 2023-04-21 20:29:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-21 20:29:38 +0200 |
commit | de864236f83dc31c53ca77a6939357a0959bca75 (patch) | |
tree | ef739fd9426e7c2525b1560386faaa5bb893e30d /src/main/java/gregtech/common/items/ItemComb.java | |
parent | 285a75535d07f2037967b1208a5840fb81719514 (diff) | |
download | GT5-Unofficial-de864236f83dc31c53ca77a6939357a0959bca75.tar.gz GT5-Unofficial-de864236f83dc31c53ca77a6939357a0959bca75.tar.bz2 GT5-Unofficial-de864236f83dc31c53ca77a6939357a0959bca75.zip |
Recipes ra2 (#1872)
* Recipes RA2 fixes
* Use \uXXXX for non-ASCII characters
* Misc cleanup (#1888)
* migrate away from addThermalCentrifugeRecipe
* split recipes of GT_Block_Stones_Abstract
* migrate away from addForgeHammerRecipe
* migrate away from addChemicalBathRecipe
* remove "DisableOldChemicalRecipes" and its usage, as it's disabled by default in NH and it increases recipe complexity for nothing
* Remove underground biomes ore classes, as it's not present in NH
* migrate away from addFluidCannerRecipe
* migrate away from addFluidExtractionRecipe
* migrate away from addChemicalRecipe
* migrate away from addMultiblockChemicalRecipe
* deprecate addChemicalRecipeForBasicMachineOnly
* migrate away from addCentrifugeRecipe
* spotlessApply
* fixing wrong merge conflict solving
* Add Tengam materials (#1891)
* Add Tengam materials
* Change new recipes to consume 15/16 Amp
* Remove now redundant `break` statements
* fix comb chances?
* fix centrifuge code not working
---------
Co-authored-by: glowredman <35727266+glowredman@users.noreply.github.com>
Co-authored-by: Martin Robertz <dream-master@gmx.net>
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() { |