diff options
author | HoleFish <48403212+HoleFish@users.noreply.github.com> | 2024-08-24 02:40:15 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-23 18:40:15 +0000 |
commit | 59f7b8c34641851010999dc31f59f996a5e7a3ff (patch) | |
tree | 83b9353eb1a5ccd3d04f334159c95fdaf8275bcd /src/main/java/gregtech/api/util/BlastFurnaceGasStat.java | |
parent | eb34e71e22177fb2d8072522eb7f3e5401b84eea (diff) | |
download | GT5-Unofficial-59f7b8c34641851010999dc31f59f996a5e7a3ff.tar.gz GT5-Unofficial-59f7b8c34641851010999dc31f59f996a5e7a3ff.tar.bz2 GT5-Unofficial-59f7b8c34641851010999dc31f59f996a5e7a3ff.zip |
Add recipemap for EBF gas recipes (#2931)
add
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/api/util/BlastFurnaceGasStat.java')
-rw-r--r-- | src/main/java/gregtech/api/util/BlastFurnaceGasStat.java | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/util/BlastFurnaceGasStat.java b/src/main/java/gregtech/api/util/BlastFurnaceGasStat.java new file mode 100644 index 0000000000..ac1601e846 --- /dev/null +++ b/src/main/java/gregtech/api/util/BlastFurnaceGasStat.java @@ -0,0 +1,91 @@ +package gregtech.api.util; + +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +import net.minecraftforge.fluids.FluidStack; + +import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; + +import gregtech.api.enums.Materials; + +public class BlastFurnaceGasStat { + + public enum Gases { + + Nitrogen(new BlastFurnaceGasStat(Materials.Nitrogen.getGas(1L), 1.0, 1.0)), + Helium(new BlastFurnaceGasStat(Materials.Helium.getGas(1L), 0.9, 1.0)), + Argon(new BlastFurnaceGasStat(Materials.Argon.getGas(1L), 0.8, 0.85)), + Radon(new BlastFurnaceGasStat(Materials.Radon.getGas(1L), 0.7, 0.7)), + Neon(new BlastFurnaceGasStat(WerkstoffLoader.Neon)), + Krypton(new BlastFurnaceGasStat(WerkstoffLoader.Krypton)), + Xenon(new BlastFurnaceGasStat(WerkstoffLoader.Xenon)), + Oganesson(new BlastFurnaceGasStat(WerkstoffLoader.Oganesson)); + + public final BlastFurnaceGasStat stat; + + Gases(BlastFurnaceGasStat stat) { + this.stat = stat; + } + } + + public static List<BlastFurnaceGasStat> NOBLE_GASES; + public static List<BlastFurnaceGasStat> ANAEROBE_GASES; + public static List<BlastFurnaceGasStat> NOBLE_AND_ANAEROBE_GASES; + FluidStack gas; + double recipeTimeMultiplier; + double recipeConsumedAmountMultiplier; + + public BlastFurnaceGasStat(FluidStack gas, double recipeTimeMultiplier, double recipeConsumedAmountMultiplier) { + this.gas = gas; + this.recipeTimeMultiplier = recipeTimeMultiplier; + this.recipeConsumedAmountMultiplier = recipeConsumedAmountMultiplier; + } + + public BlastFurnaceGasStat(Werkstoff material) { + this( + material.getFluidOrGas(1), + material.getStats() + .getEbfGasRecipeTimeMultiplier(), + material.getStats() + .getEbfGasRecipeConsumedAmountMultiplier()); + } + + public static Collection<BlastFurnaceGasStat> getNobleGases() { + if (NOBLE_GASES == null) { + NOBLE_GASES = Arrays.asList( + Gases.Helium.stat, + Gases.Argon.stat, + Gases.Radon.stat, + Gases.Neon.stat, + Gases.Krypton.stat, + Gases.Xenon.stat, + Gases.Oganesson.stat); + } + return NOBLE_GASES; + } + + public static Collection<BlastFurnaceGasStat> getAnaerobeGases() { + if (ANAEROBE_GASES == null) { + ANAEROBE_GASES = Arrays.asList(Gases.Nitrogen.stat, Gases.Xenon.stat, Gases.Oganesson.stat); + } + return ANAEROBE_GASES; + } + + public static Collection<BlastFurnaceGasStat> getNobleAndAnaerobeGases() { + if (NOBLE_AND_ANAEROBE_GASES == null) { + NOBLE_AND_ANAEROBE_GASES = Arrays.asList( + Gases.Nitrogen.stat, + Gases.Helium.stat, + Gases.Argon.stat, + Gases.Radon.stat, + Gases.Neon.stat, + Gases.Krypton.stat, + Gases.Xenon.stat, + Gases.Oganesson.stat); + } + return NOBLE_AND_ANAEROBE_GASES; + } +} |