aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/BlastFurnaceGasStat.java
diff options
context:
space:
mode:
authorHoleFish <48403212+HoleFish@users.noreply.github.com>2024-08-24 02:40:15 +0800
committerGitHub <noreply@github.com>2024-08-23 18:40:15 +0000
commit59f7b8c34641851010999dc31f59f996a5e7a3ff (patch)
tree83b9353eb1a5ccd3d04f334159c95fdaf8275bcd /src/main/java/gregtech/api/util/BlastFurnaceGasStat.java
parenteb34e71e22177fb2d8072522eb7f3e5401b84eea (diff)
downloadGT5-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.java91
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;
+ }
+}