aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheEricCheng <88154852+TheEricCheng@users.noreply.github.com>2023-02-17 04:07:12 +0800
committerGitHub <noreply@github.com>2023-02-16 21:07:12 +0100
commit4442f98e071cbcb7d78f08231a229871f119c219 (patch)
tree30addce45f2a9c625f8cfbda915a858bde55d262
parent365d17b7aeb0b6032f6b27a252b82c4b77a5fbb7 (diff)
downloadGT5-Unofficial-4442f98e071cbcb7d78f08231a229871f119c219.tar.gz
GT5-Unofficial-4442f98e071cbcb7d78f08231a229871f119c219.tar.bz2
GT5-Unofficial-4442f98e071cbcb7d78f08231a229871f119c219.zip
Loose mode change (#1750)
* Add files via upload * Add files via upload * Add files via upload
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java29
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java54
3 files changed, 44 insertions, 45 deletions
diff --git a/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java b/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
index 7ee4b23628..a0f1ea6ef1 100644
--- a/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
+++ b/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
@@ -420,14 +420,12 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item
// Optimal Flow -> toolSpeed
// EU/t -> toolCombatDamage, toolSpeed
// Overflow Tier -> toolQuality
- int aBaseEff = (int) (5 + getToolCombatDamage(aStack)) * 1000;
- int aOptFlow = GT_Utility.safeInt(
- (long) Math.max(
- Float.MIN_NORMAL,
- ((GT_MetaGenerated_Tool) aStack.getItem()).getToolStats(aStack).getSpeedMultiplier()
- * ((GT_MetaGenerated_Tool) aStack.getItem())
- .getPrimaryMaterial(aStack).mToolSpeed
- * 50));
+ float aBaseEff = (5f + getToolCombatDamage(aStack)) * 1000f;
+ float aOptFlow = (Math.max(
+ Float.MIN_NORMAL,
+ ((GT_MetaGenerated_Tool) aStack.getItem()).getToolStats(aStack).getSpeedMultiplier()
+ * ((GT_MetaGenerated_Tool) aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed
+ * 50F));
aList.add(
tOffset + 0,
EnumChatFormatting.GRAY + String.format(
@@ -479,16 +477,16 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item
/ 200)))
+ EnumChatFormatting.GRAY));
{
- long[] calculatedFlow = calculateLooseFlow(aOptFlow, aBaseEff);
- int aOptFlowLoose = (int) calculatedFlow[0];
- int aBaseEffLoose = (int) calculatedFlow[1];
+ float[] calculatedFlow = calculateLooseFlow(aOptFlow, aBaseEff);
+ float aOptFlowLoose = calculatedFlow[0];
+ float aBaseEffLoose = calculatedFlow[1];
aList.add(
tOffset + 5,
EnumChatFormatting.AQUA + String.format(
transItem("500", "Turbine Efficiency (Loose): %s"),
"" + EnumChatFormatting.BLUE
- + aBaseEffLoose / 100
+ + (long) aBaseEffLoose / 100
+ "%"
+ EnumChatFormatting.GRAY));
aList.add(
@@ -497,7 +495,8 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item
transItem("501", "Optimal Steam flow (Loose): %s L/t"),
"" + EnumChatFormatting.GOLD
+ formatNumbers(
- (aOptFlowLoose * getPrimaryMaterial(aStack).mSteamMultiplier))
+ ((long) aOptFlowLoose
+ * getPrimaryMaterial(aStack).mSteamMultiplier))
+ EnumChatFormatting.GRAY));
aList.add(
tOffset + 7,
@@ -505,8 +504,8 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item
transItem("901", "Energy from Optimal Steam Flow (Loose): %s EU/t"),
"" + EnumChatFormatting.GOLD
+ formatNumbers(
- (aOptFlowLoose * getPrimaryMaterial(aStack).mSteamMultiplier
- / 10000) * (aBaseEffLoose / 2))
+ ((long) aOptFlowLoose * getPrimaryMaterial(aStack).mSteamMultiplier
+ / 10000) * ((long) aBaseEffLoose / 2))
+ EnumChatFormatting.GRAY));
aList.add(
tOffset + 8,
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java
index a28c28518c..20a62fc13c 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java
@@ -89,9 +89,9 @@ public class GT_MetaTileEntity_LargeTurbine_HPSteam extends GT_MetaTileEntity_La
int fluidIntoPower(ArrayList<FluidStack> aFluids, int aOptFlow, int aBaseEff, int overflowEfficiency,
float[] flowMultipliers) {
if (looseFit) {
- long[] calculatedFlow = calculateLooseFlow(aOptFlow, aBaseEff);
- aOptFlow = GT_Utility.safeInt(calculatedFlow[0]);
- aBaseEff = GT_Utility.safeInt(calculatedFlow[1]);
+ float[] calculatedFlow = calculateLooseFlow(aOptFlow, aBaseEff);
+ aOptFlow = GT_Utility.safeInt((long) calculatedFlow[0]);
+ aBaseEff = GT_Utility.safeInt((long) calculatedFlow[1]);
}
int tEU = 0;
int totalFlow = 0; // Byproducts are based on actual flow
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
index 35deef3fed..8ccd605b3a 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
@@ -98,9 +98,9 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg
int fluidIntoPower(ArrayList<FluidStack> aFluids, int aOptFlow, int aBaseEff, int overflowEfficiency,
float[] flowMultipliers) {
if (looseFit) {
- long[] calculatedFlow = calculateLooseFlow(aOptFlow, aBaseEff);
- aOptFlow = GT_Utility.safeInt(calculatedFlow[0]);
- aBaseEff = GT_Utility.safeInt(calculatedFlow[1]);
+ float[] calculatedFlow = calculateLooseFlow(aOptFlow, aBaseEff);
+ aOptFlow = GT_Utility.safeInt((long) calculatedFlow[0]);
+ aBaseEff = GT_Utility.safeInt((long) calculatedFlow[1]);
}
int tEU = 0;
int totalFlow = 0; // Byproducts are based on actual flow
@@ -184,37 +184,37 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg
return efficiency;
}
- public static long[] calculateLooseFlow(int aOptFlow, int aBaseEff) {
- aOptFlow *= 4;
- if (aBaseEff >= 26000) {
- aOptFlow *= Math.pow(1.1f, ((aBaseEff - 8000) / 10000F) * 20f);
- aBaseEff *= 0.6f;
- } else if (aBaseEff > 22000) {
- aOptFlow *= Math.pow(1.1f, ((aBaseEff - 7000) / 10000F) * 20f);
- aBaseEff *= 0.65f;
- } else if (aBaseEff > 18000) {
- aOptFlow *= Math.pow(1.1f, ((aBaseEff - 6000) / 10000F) * 20f);
- aBaseEff *= 0.70f;
- } else if (aBaseEff > 14000) {
- aOptFlow *= Math.pow(1.1f, ((aBaseEff - 5000) / 10000F) * 20f);
- aBaseEff *= 0.75f;
- } else if (aBaseEff > 10000) {
- aOptFlow *= Math.pow(1.1f, ((aBaseEff - 4000) / 10000F) * 20f);
- aBaseEff *= 0.8f;
- } else if (aBaseEff > 6000) {
- aOptFlow *= Math.pow(1.1f, ((aBaseEff - 3000) / 10000F) * 20f);
- aBaseEff *= 0.85f;
+ public static float[] calculateLooseFlow(float aOptFlow, float aBaseEff) {
+ aOptFlow *= 4f;
+ if (aBaseEff >= 26000f) {
+ aOptFlow = aOptFlow * (float) Math.pow(1.1f, ((aBaseEff - 8000f) / 10000f) * 20f);
+ aBaseEff = aBaseEff * 0.6f;
+ } else if (aBaseEff > 22000f) {
+ aOptFlow = aOptFlow * (float) Math.pow(1.1f, ((aBaseEff - 7000f) / 10000f) * 20f);
+ aBaseEff = aBaseEff * 0.65f;
+ } else if (aBaseEff > 18000f) {
+ aOptFlow = aOptFlow * (float) Math.pow(1.1f, ((aBaseEff - 6000f) / 10000f) * 20f);
+ aBaseEff = aBaseEff * 0.70f;
+ } else if (aBaseEff > 14000f) {
+ aOptFlow = aOptFlow * (float) Math.pow(1.1f, ((aBaseEff - 5000f) / 10000f) * 20f);
+ aBaseEff = aBaseEff * 0.75f;
+ } else if (aBaseEff > 10000f) {
+ aOptFlow = aOptFlow * (float) Math.pow(1.1f, ((aBaseEff - 4000f) / 10000f) * 20f);
+ aBaseEff = aBaseEff * 0.8f;
+ } else if (aBaseEff > 6000f) {
+ aOptFlow = aOptFlow * (float) Math.pow(1.1f, ((aBaseEff - 3000f) / 10000f) * 20f);
+ aBaseEff = aBaseEff * 0.85f;
} else {
- aBaseEff *= 0.9f;
+ aBaseEff = aBaseEff * 0.9f;
}
if (aBaseEff % 100 != 0) {
aBaseEff -= aBaseEff % 100;
}
- long[] looseFlow = new long[2];
- looseFlow[0] = GT_Utility.safeInt(aOptFlow);
- looseFlow[1] = GT_Utility.safeInt(aBaseEff);
+ float[] looseFlow = new float[2];
+ looseFlow[0] = aOptFlow;
+ looseFlow[1] = aBaseEff;
return looseFlow;
}