diff options
| author | querns <33518699+querns@users.noreply.github.com> | 2023-10-03 03:57:44 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-03 10:57:44 +0200 |
| commit | 75ebf863f50773841a06076444911acd6b1f82e8 (patch) | |
| tree | 0d136a62a32e3efa0f7dda81c2806ac483b4b9b5 /src/main/java/gregtech/common/tileentities/machines/multi | |
| parent | f2815aa338fd8a220f49de6b60486d51ab7e75b8 (diff) | |
| download | GT5-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.java | 30 |
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 |
