aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/implementations
diff options
context:
space:
mode:
authorWilhelm Schuster <ws@rot13.io>2023-05-06 16:28:33 +0200
committerGitHub <noreply@github.com>2023-05-06 16:28:33 +0200
commitb39e9e6fd548aa5dd65bddc4e53ffca77a2518bf (patch)
tree5df59c826a7b7641b3212337520082c27adac16d /src/main/java/gregtech/api/metatileentity/implementations
parent228a726aaed50cd35346ed65369f1c1fddd2cd26 (diff)
downloadGT5-Unofficial-b39e9e6fd548aa5dd65bddc4e53ffca77a2518bf.tar.gz
GT5-Unofficial-b39e9e6fd548aa5dd65bddc4e53ffca77a2518bf.tar.bz2
GT5-Unofficial-b39e9e6fd548aa5dd65bddc4e53ffca77a2518bf.zip
Show energy flow amperage and correct voltage tier in WAILA for machine blocks (#1955)
Previously, WAILA just showed voltage tier based on total energy flow. This was problematic for machines that accept multiple amps such as the Arc Furnace. Even though it can accept up to 3A of input, increasing the total input voltage by one tier, it obviously cannot accept that voltage from a single source.
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java10
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java42
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java58
3 files changed, 82 insertions, 28 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java
index ea0a8d2bd2..469eb6a866 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java
@@ -348,14 +348,16 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier
long avgOut = tag.getLong("AvgOut");
currenttip.add(
StatCollector.translateToLocalFormatted(
- "GT5U.waila.energy.avg_in",
+ "GT5U.waila.energy.avg_in_with_amperage",
GT_Utility.formatNumbers(avgIn),
- GT_Utility.getColoredTierNameFromVoltage(avgIn)));
+ GT_Utility.getAmperageForTier(avgIn, (byte) getInputTier()),
+ GT_Utility.getColoredTierNameFromTier((byte) getInputTier())));
currenttip.add(
StatCollector.translateToLocalFormatted(
- "GT5U.waila.energy.avg_out",
+ "GT5U.waila.energy.avg_out_with_amperage",
GT_Utility.formatNumbers(avgOut),
- GT_Utility.getColoredTierNameFromVoltage(avgOut)));
+ GT_Utility.getAmperageForTier(avgOut, (byte) getOutputTier()),
+ GT_Utility.getColoredTierNameFromTier((byte) getOutputTier())));
super.getWailaBody(itemStack, currenttip, accessor, config);
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
index 85af4305bb..fe5d57c84a 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
@@ -1222,18 +1222,36 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
boolean isActive = tag.getBoolean("isActiveSingleBlock");
if (isActive) {
int mEUt = tag.getInteger("eut");
- if (mEUt > 0) {
- currenttip.add(
- StatCollector.translateToLocalFormatted(
- "GT5U.waila.energy.use",
- GT_Utility.formatNumbers(mEUt),
- GT_Utility.getColoredTierNameFromVoltage(mEUt)));
- } else if (mEUt < 0) {
- currenttip.add(
- StatCollector.translateToLocalFormatted(
- "GT5U.waila.energy.produce",
- GT_Utility.formatNumbers(-mEUt),
- GT_Utility.getColoredTierNameFromVoltage(-mEUt)));
+ if (!isSteampowered()) {
+ if (mEUt > 0) {
+ currenttip.add(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.waila.energy.use_with_amperage",
+ GT_Utility.formatNumbers(mEUt),
+ GT_Utility.getAmperageForTier(mEUt, (byte) getInputTier()),
+ GT_Utility.getColoredTierNameFromTier((byte) getInputTier())));
+ } else if (mEUt < 0) {
+ currenttip.add(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.waila.energy.produce_with_amperage",
+ GT_Utility.formatNumbers(-mEUt),
+ GT_Utility.getAmperageForTier(-mEUt, (byte) getOutputTier()),
+ GT_Utility.getColoredTierNameFromTier((byte) getOutputTier())));
+ }
+ } else {
+ if (mEUt > 0) {
+ currenttip.add(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.waila.energy.use",
+ GT_Utility.formatNumbers(mEUt),
+ GT_Utility.getColoredTierNameFromVoltage(mEUt)));
+ } else if (mEUt < 0) {
+ currenttip.add(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.waila.energy.produce",
+ GT_Utility.formatNumbers(-mEUt),
+ GT_Utility.getColoredTierNameFromVoltage(-mEUt)));
+ }
}
}
currenttip.add(
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 0d25ec84f6..94392d089c 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -799,6 +799,20 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
return rVoltage;
}
+ public long getInputVoltageTier() {
+ long rTier = 0;
+ if (mEnergyHatches.size() > 0) {
+ rTier = mEnergyHatches.get(0)
+ .getInputTier();
+ for (int i = 1; i < mEnergyHatches.size(); i++) {
+ if (mEnergyHatches.get(i)
+ .getInputTier() != rTier) return 0;
+ }
+ }
+
+ return rTier;
+ }
+
/**
* Calcualtes the overclockedness using long integers
*
@@ -1391,19 +1405,38 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
boolean isActive = tag.getBoolean("isActive");
if (isActive) {
+ long energyTier = tag.getLong("energyTier");
long actualEnergyUsage = tag.getLong("energyUsage");
- if (actualEnergyUsage > 0) {
- currentTip.add(
- StatCollector.translateToLocalFormatted(
- "GT5U.waila.energy.use",
- GT_Utility.formatNumbers(actualEnergyUsage),
- GT_Utility.getColoredTierNameFromVoltage(actualEnergyUsage)));
- } else if (actualEnergyUsage < 0) {
- currentTip.add(
- StatCollector.translateToLocalFormatted(
- "GT5U.waila.energy.produce",
- GT_Utility.formatNumbers(-actualEnergyUsage),
- GT_Utility.getColoredTierNameFromVoltage(-actualEnergyUsage)));
+ if (energyTier > 0) {
+ if (actualEnergyUsage > 0) {
+ currentTip.add(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.waila.energy.use_with_amperage",
+ GT_Utility.formatNumbers(actualEnergyUsage),
+ GT_Utility.getAmperageForTier(actualEnergyUsage, (byte) energyTier),
+ GT_Utility.getColoredTierNameFromTier((byte) energyTier)));
+ } else if (actualEnergyUsage < 0) {
+ currentTip.add(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.waila.energy.produce_with_amperage",
+ GT_Utility.formatNumbers(-actualEnergyUsage),
+ GT_Utility.getAmperageForTier(-actualEnergyUsage, (byte) energyTier),
+ GT_Utility.getColoredTierNameFromTier((byte) energyTier)));
+ }
+ } else {
+ if (actualEnergyUsage > 0) {
+ currentTip.add(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.waila.energy.use",
+ GT_Utility.formatNumbers(actualEnergyUsage),
+ GT_Utility.getColoredTierNameFromVoltage(actualEnergyUsage)));
+ } else if (actualEnergyUsage < 0) {
+ currentTip.add(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.waila.energy.produce",
+ GT_Utility.formatNumbers(-actualEnergyUsage),
+ GT_Utility.getColoredTierNameFromVoltage(-actualEnergyUsage)));
+ }
}
}
currentTip.add(
@@ -1429,6 +1462,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
if (tileEntity.isActive()) {
if (mEUt < 0) tag.setLong("energyUsage", getActualEnergyUsage());
else tag.setLong("energyUsage", (long) -mEUt * mEfficiency / 10000);
+ tag.setLong("energyTier", getInputVoltageTier());
}
}
}