aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/gui/widgets/GT_LockedWhileActiveButton.java (renamed from src/main/java/gregtech/api/gui/widgets/GT_DisabledWhileActiveButton.java)50
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java50
2 files changed, 46 insertions, 54 deletions
diff --git a/src/main/java/gregtech/api/gui/widgets/GT_DisabledWhileActiveButton.java b/src/main/java/gregtech/api/gui/widgets/GT_LockedWhileActiveButton.java
index e86589ac2a..9a93a8fadf 100644
--- a/src/main/java/gregtech/api/gui/widgets/GT_DisabledWhileActiveButton.java
+++ b/src/main/java/gregtech/api/gui/widgets/GT_LockedWhileActiveButton.java
@@ -1,9 +1,7 @@
package gregtech.api.gui.widgets;
-import java.lang.ref.WeakReference;
import java.util.Arrays;
import java.util.List;
-import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Supplier;
@@ -21,17 +19,17 @@ import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.tileentity.IMachineProgress;
-public class GT_DisabledWhileActiveButton extends ButtonWidget {
+public class GT_LockedWhileActiveButton extends ButtonWidget {
@NotNull
- private final WeakReference<IMachineProgress> machineRef;
+ private final IMachineProgress machine;
- public GT_DisabledWhileActiveButton(@NotNull IMachineProgress machine, @NotNull ModularWindow.Builder builder) {
+ public GT_LockedWhileActiveButton(@NotNull IMachineProgress machine, @NotNull ModularWindow.Builder builder) {
super();
- machineRef = new WeakReference<>(machine);
+ this.machine = machine;
super.attachSyncer(
- new FakeSyncWidget.BooleanSyncer(() -> isMachineActive().orElse(true), a -> {}),
+ new FakeSyncWidget.BooleanSyncer(machine::isActive, a -> {}),
builder,
(widget, aBoolean) -> widget.notifyTooltipChange());
@@ -41,11 +39,11 @@ public class GT_DisabledWhileActiveButton extends ButtonWidget {
@NotNull
@Override
public ButtonWidget setOnClick(@NotNull BiConsumer<ClickData, Widget> clickAction) {
- return super.setOnClick((clickData, widget) -> isMachineActive().ifPresent(isActive -> {
- if (!isActive) {
+ return super.setOnClick((clickData, widget) -> {
+ if (!machine.isActive()) {
clickAction.accept(clickData, widget);
}
- }));
+ });
}
@NotNull
@@ -73,32 +71,20 @@ public class GT_DisabledWhileActiveButton extends ButtonWidget {
}
@NotNull
- private Optional<Boolean> isMachineActive() {
- return Optional.ofNullable(machineRef.get())
- .map(IMachineProgress::isActive);
- }
-
- @NotNull
private IDrawable[] appendLockedOverlay(@NotNull IDrawable[] drawables) {
- return isMachineActive().map(isActive -> {
- if (isActive) {
- final IDrawable[] copy = Arrays.copyOf(drawables, drawables.length + 1);
- copy[drawables.length] = GT_UITextures.OVERLAY_BUTTON_LOCKED;
- return copy;
- }
- return drawables;
- })
- .orElse(drawables);
+ if (machine.isActive()) {
+ final IDrawable[] copy = Arrays.copyOf(drawables, drawables.length + 1);
+ copy[drawables.length] = GT_UITextures.OVERLAY_BUTTON_LOCKED;
+ return copy;
+ }
+ return drawables;
}
@NotNull
private List<String> generateTooltip() {
- return isMachineActive().map(isActive -> {
- if (isActive) {
- return ImmutableList.of(StatCollector.translateToLocal("GT5U.gui.button.forbidden_while_running"));
- }
- return ImmutableList.<String>of();
- })
- .orElse(ImmutableList.of());
+ if (machine.isActive()) {
+ return ImmutableList.of(StatCollector.translateToLocal("GT5U.gui.button.forbidden_while_running"));
+ }
+ return ImmutableList.of();
}
}
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 a729342430..9d86608bf4 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
@@ -2289,28 +2289,30 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
&& shouldDisplayCheckRecipeResult()))
.widget(new CheckRecipeResultSyncer(() -> checkRecipeResult, (result) -> checkRecipeResult = result));
- // Display current recipe
- screenElements.widget(
- TextWidget.dynamicString(this::generateCurrentRecipeInfoString)
- .setSynced(false)
- .setTextAlignment(Alignment.CenterLeft)
- .setEnabled(
- widget -> (mOutputFluids != null && mOutputFluids.length > 0)
- || (mOutputItems != null && mOutputItems.length > 0)))
- .widget(
- new FakeSyncWidget.ListSyncer<>(
- () -> mOutputFluids != null ? Arrays.asList(mOutputFluids) : Collections.emptyList(),
- val -> mOutputFluids = val.toArray(new FluidStack[0]),
- NetworkUtils::writeFluidStack,
- NetworkUtils::readFluidStack))
- .widget(
- new FakeSyncWidget.ListSyncer<>(
- () -> mOutputItems != null ? Arrays.asList(mOutputItems) : Collections.emptyList(),
- val -> mOutputItems = val.toArray(new ItemStack[0]),
- NetworkUtils::writeItemStack,
- NetworkUtils::readItemStack))
- .widget(new FakeSyncWidget.IntegerSyncer(() -> mProgresstime, val -> mProgresstime = val))
- .widget(new FakeSyncWidget.IntegerSyncer(() -> mMaxProgresstime, val -> mMaxProgresstime = val));
+ if (showRecipeTextInGUI()) {
+ // Display current recipe
+ screenElements.widget(
+ TextWidget.dynamicString(this::generateCurrentRecipeInfoString)
+ .setSynced(false)
+ .setTextAlignment(Alignment.CenterLeft)
+ .setEnabled(
+ widget -> (mOutputFluids != null && mOutputFluids.length > 0)
+ || (mOutputItems != null && mOutputItems.length > 0)))
+ .widget(
+ new FakeSyncWidget.ListSyncer<>(
+ () -> mOutputFluids != null ? Arrays.asList(mOutputFluids) : Collections.emptyList(),
+ val -> mOutputFluids = val.toArray(new FluidStack[0]),
+ NetworkUtils::writeFluidStack,
+ NetworkUtils::readFluidStack))
+ .widget(
+ new FakeSyncWidget.ListSyncer<>(
+ () -> mOutputItems != null ? Arrays.asList(mOutputItems) : Collections.emptyList(),
+ val -> mOutputItems = val.toArray(new ItemStack[0]),
+ NetworkUtils::writeItemStack,
+ NetworkUtils::readItemStack))
+ .widget(new FakeSyncWidget.IntegerSyncer(() -> mProgresstime, val -> mProgresstime = val))
+ .widget(new FakeSyncWidget.IntegerSyncer(() -> mMaxProgresstime, val -> mMaxProgresstime = val));
+ }
screenElements.widget(
new TextWidget(GT_Utility.trans("144", "Missing Turbine Rotor")).setDefaultColor(COLOR_TEXT_WHITE.get())
@@ -2328,6 +2330,10 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
}));
}
+ protected boolean showRecipeTextInGUI() {
+ return true;
+ }
+
@TestOnly
protected void setEnergyHatches(ArrayList<GT_MetaTileEntity_Hatch_Energy> EnergyHatches) {
this.mEnergyHatches = EnergyHatches;