aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/items/ItemComb.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common/items/ItemComb.java')
-rw-r--r--src/main/java/gregtech/common/items/ItemComb.java183
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() {