aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorquerns <33518699+querns@users.noreply.github.com>2023-09-09 08:39:16 -0500
committerGitHub <noreply@github.com>2023-09-09 15:39:16 +0200
commitcac77610b54a76300227bdd2e6d576480ec7725f (patch)
treee95bd5e477ceb5976b36edf5ef4578fdec6ee9ce /src
parent505850f40010719ebff477fc5cac41f0786e0f41 (diff)
downloadGT5-Unofficial-cac77610b54a76300227bdd2e6d576480ec7725f.tar.gz
GT5-Unofficial-cac77610b54a76300227bdd2e6d576480ec7725f.tar.bz2
GT5-Unofficial-cac77610b54a76300227bdd2e6d576480ec7725f.zip
Request drill changes, eliminates recipe info in drill GUI (#2285)
Diffstat (limited to 'src')
-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
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java9
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java8
4 files changed, 57 insertions, 60 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;
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java
index 983e6c5998..f40c70d2a4 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java
@@ -61,7 +61,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.gui.modularui.GT_UITextures;
-import gregtech.api.gui.widgets.GT_DisabledWhileActiveButton;
+import gregtech.api.gui.widgets.GT_LockedWhileActiveButton;
import gregtech.api.interfaces.IChunkLoader;
import gregtech.api.interfaces.IHatchElement;
import gregtech.api.interfaces.ITexture;
@@ -789,6 +789,11 @@ public abstract class GT_MetaTileEntity_DrillerBase
.widget(new FakeSyncWidget.StringSyncer(() -> shutdownReason, newString -> shutdownReason = newString));
}
+ @Override
+ protected boolean showRecipeTextInGUI() {
+ return false;
+ }
+
/**
* Adds additional buttons to the main button row. You do not need to set the position.
*
@@ -805,7 +810,7 @@ public abstract class GT_MetaTileEntity_DrillerBase
final int BUTTON_Y_LEVEL = 91;
builder.widget(
- new GT_DisabledWhileActiveButton(this.getBaseMetaTileEntity(), builder)
+ new GT_LockedWhileActiveButton(this.getBaseMetaTileEntity(), builder)
.setOnClick((clickData, widget) -> mChunkLoadingEnabled = !mChunkLoadingEnabled)
.setPlayClickSound(true)
.setBackground(() -> {
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
index 8103ff632b..7986e52208 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
@@ -44,7 +44,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SoundResource;
import gregtech.api.gui.modularui.GT_UITextures;
-import gregtech.api.gui.widgets.GT_DisabledWhileActiveButton;
+import gregtech.api.gui.widgets.GT_LockedWhileActiveButton;
import gregtech.api.interfaces.IHatchElement;
import gregtech.api.objects.GT_ChunkManager;
import gregtech.api.objects.ItemData;
@@ -623,7 +623,7 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
@Override
protected List<ButtonWidget> getAdditionalButtons(ModularWindow.Builder builder, UIBuildContext buildContext) {
return ImmutableList.of(
- (ButtonWidget) new GT_DisabledWhileActiveButton(this.getBaseMetaTileEntity(), builder)
+ (ButtonWidget) new GT_LockedWhileActiveButton(this.getBaseMetaTileEntity(), builder)
.setOnClick((clickData, widget) -> adjustChunkRadius(clickData.mouseButton == 0))
.setPlayClickSound(true)
.setBackground(GT_UITextures.BUTTON_STANDARD, GT_UITextures.OVERLAY_WORK_AREA)
@@ -639,12 +639,12 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
StatCollector.translateToLocal("GT5U.gui.button.ore_drill_radius_2")))
.setTooltipShowUpDelay(TOOLTIP_DELAY)
.setSize(16, 16),
- (ButtonWidget) new GT_DisabledWhileActiveButton(this.getBaseMetaTileEntity(), builder)
+ (ButtonWidget) new GT_LockedWhileActiveButton(this.getBaseMetaTileEntity(), builder)
.setOnClick((clickData, widget) -> replaceWithCobblestone = !replaceWithCobblestone)
.setPlayClickSound(true)
.setBackground(() -> {
if (replaceWithCobblestone) {
- return new IDrawable[] { GT_UITextures.BUTTON_STANDARD,
+ return new IDrawable[] { GT_UITextures.BUTTON_STANDARD_PRESSED,
GT_UITextures.OVERLAY_REPLACE_COBBLE_ON };
}
return new IDrawable[] { GT_UITextures.BUTTON_STANDARD, GT_UITextures.OVERLAY_REPLACE_COBBLE_OFF };