aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authorConnor-Colenso <52056774+Connor-Colenso@users.noreply.github.com>2022-12-18 17:38:54 +0000
committerGitHub <noreply@github.com>2022-12-18 18:38:54 +0100
commit3c852a0143cbfa864da59bdd0b2edab1fa4bf146 (patch)
treebbdb97091199dccad76f03182a1270969e36f113 /src/main/java/gregtech/api
parente3e077b34f825d9f09da8fe7191251c1dcd9bbd5 (diff)
downloadGT5-Unofficial-3c852a0143cbfa864da59bdd0b2edab1fa4bf146.tar.gz
GT5-Unofficial-3c852a0143cbfa864da59bdd0b2edab1fa4bf146.tar.bz2
GT5-Unofficial-3c852a0143cbfa864da59bdd0b2edab1fa4bf146.zip
Turbine efficiency helper (#1562)
* Add value to automatically determine highest possible turbine efficiency. * spotlessApply (#1563) Co-authored-by: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/enums/GT_Values.java33
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java11
2 files changed, 38 insertions, 6 deletions
diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java
index a65b79d42d..f7df02e7b3 100644
--- a/src/main/java/gregtech/api/enums/GT_Values.java
+++ b/src/main/java/gregtech/api/enums/GT_Values.java
@@ -6,10 +6,7 @@ import gregtech.api.interfaces.internal.IGT_Mod;
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
import gregtech.api.net.IGT_NetworkHandler;
import java.math.BigInteger;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.Set;
+import java.util.*;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
@@ -188,7 +185,7 @@ public class GT_Values {
EnumChatFormatting.DARK_GREEN.toString(), // UV, 8
EnumChatFormatting.DARK_RED.toString(), // UHV, 9
EnumChatFormatting.DARK_PURPLE.toString(), // UEV, 10
- EnumChatFormatting.DARK_BLUE.toString() + EnumChatFormatting.BOLD.toString(), // UIV, 11
+ EnumChatFormatting.DARK_BLUE + EnumChatFormatting.BOLD.toString(), // UIV, 11
EnumChatFormatting.RED.toString()
+ EnumChatFormatting.BOLD.toString()
+ EnumChatFormatting.UNDERLINE.toString(), // UMV, 12
@@ -406,7 +403,7 @@ public class GT_Values {
*/
public static boolean debugDriller = false;
/**
- * Debug parameter for world generation. Tracks chunks added/removed from run queue.
+ * Debug parameter for world generation. Track chunks added/removed from run queue.
*/
public static boolean debugWorldGen = false;
/**
@@ -510,4 +507,28 @@ public class GT_Values {
public static final String AuthorBlueWeabo = "Author: " + EnumChatFormatting.BLUE + EnumChatFormatting.BOLD + "Blue"
+ EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + "Weabo";
+
+ // 7.5F comes from GT_Tool_Turbine_Large#getBaseDamage() given huge turbines are the most efficient now.
+ public static double getMaxPlasmaTurbineEfficiencyFromMaterial(Materials material) {
+ return (5F + (7.5F + material.mToolQuality)) / 10.0;
+ }
+
+ // Called once in GT_Client on world load, has to be called late so that Materials is populated.
+ public static void calculateMaxPlasmaTurbineEfficiency() {
+
+ ArrayList<Double> effArray = new ArrayList<>();
+
+ // Iteration seems to work but need to check turbine as all items appear null.
+ for (Materials material : Materials.values()) {
+ effArray.add(getMaxPlasmaTurbineEfficiencyFromMaterial(material));
+ }
+
+ maxPlasmaTurbineEfficiency = Collections.max(effArray);
+ }
+
+ private static double maxPlasmaTurbineEfficiency;
+
+ public static double getMaxPlasmaTurbineEfficiency() {
+ return maxPlasmaTurbineEfficiency;
+ }
}
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java
index da98e97f8e..e24c893063 100644
--- a/src/main/java/gregtech/api/util/GT_Utility.java
+++ b/src/main/java/gregtech/api/util/GT_Utility.java
@@ -4331,4 +4331,15 @@ public class GT_Utility {
@Nullable
protected abstract NBTTagCompound nbt();
}
+
+ public static int getPlasmaFuelValueInEUPerLiterFromMaterial(Materials material) {
+ return getPlasmaFuelValueInEUPerLiterFromFluid(material.getPlasma(1));
+ }
+
+ public static int getPlasmaFuelValueInEUPerLiterFromFluid(FluidStack aLiquid) {
+ if (aLiquid == null) return 0;
+ GT_Recipe tFuel = GT_Recipe.GT_Recipe_Map.sPlasmaFuels.findFuel(aLiquid);
+ if (tFuel != null) return tFuel.mSpecialValue;
+ return 0;
+ }
}