aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/tileentities/machines/multi
diff options
context:
space:
mode:
authorquerns <33518699+querns@users.noreply.github.com>2023-10-03 03:57:44 -0500
committerGitHub <noreply@github.com>2023-10-03 10:57:44 +0200
commit75ebf863f50773841a06076444911acd6b1f82e8 (patch)
tree0d136a62a32e3efa0f7dda81c2806ac483b4b9b5 /src/main/java/gregtech/common/tileentities/machines/multi
parentf2815aa338fd8a220f49de6b60486d51ab7e75b8 (diff)
downloadGT5-Unofficial-75ebf863f50773841a06076444911acd6b1f82e8.tar.gz
GT5-Unofficial-75ebf863f50773841a06076444911acd6b1f82e8.tar.bz2
GT5-Unofficial-75ebf863f50773841a06076444911acd6b1f82e8.zip
Adds proper client/server sync for metrics cover, improves oil drill metrics output (#2319)
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/machines/multi')
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
index 0a47bdb268..d1d56f0254 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
@@ -388,27 +388,39 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
@Override
public @NotNull List<String> reportMetrics() {
- if (getBaseMetaTileEntity().isActive()) {
- return switch (workState) {
- case STATE_AT_BOTTOM -> ImmutableList.of(
- StatCollector.translateToLocalFormatted("GT5U.gui.text.pump_fluid_type", getFluidName()),
+ final boolean machineIsActive = getBaseMetaTileEntity().isActive();
+ final String failureReason = getFailureReason()
+ .map(reason -> StatCollector.translateToLocalFormatted("GT5U.gui.text.drill_offline_reason", reason))
+ .orElseGet(() -> StatCollector.translateToLocalFormatted("GT5U.gui.text.drill_offline_generic"));
+
+ if (workState == STATE_AT_BOTTOM) {
+ final ImmutableList.Builder<String> builder = ImmutableList.builder();
+ builder.add(StatCollector.translateToLocalFormatted("GT5U.gui.text.pump_fluid_type", getFluidName()));
+
+ if (machineIsActive) {
+ builder.add(
StatCollector.translateToLocalFormatted(
"GT5U.gui.text.pump_rate.1",
EnumChatFormatting.AQUA + getFlowRatePerTick())
+ StatCollector.translateToLocal("GT5U.gui.text.pump_rate.2"),
getReservoirContents() + StatCollector.translateToLocal("GT5U.gui.text.pump_recovery.2"));
+ } else {
+ builder.add(failureReason);
+ }
+
+ return builder.build();
+ }
+
+ if (machineIsActive) {
+ return switch (workState) {
case STATE_DOWNWARD -> ImmutableList.of(StatCollector.translateToLocal("GT5U.gui.text.deploying_pipe"));
case STATE_UPWARD, STATE_ABORT -> ImmutableList
.of(StatCollector.translateToLocal("GT5U.gui.text.retracting_pipe"));
-
default -> ImmutableList.of();
};
}
- return ImmutableList.of(
- getFailureReason()
- .map(reason -> StatCollector.translateToLocalFormatted("GT5U.gui.text.drill_offline_reason", reason))
- .orElseGet(() -> StatCollector.translateToLocalFormatted("GT5U.gui.text.drill_offline_generic")));
+ return ImmutableList.of(failureReason);
}
@NotNull