aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common/gui')
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/FluidDisplaySlotWidget.java52
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/FluidLockWidget.java17
2 files changed, 21 insertions, 48 deletions
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/FluidDisplaySlotWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/FluidDisplaySlotWidget.java
index bc37f5c11a..a5b9f88c60 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/FluidDisplaySlotWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/FluidDisplaySlotWidget.java
@@ -25,6 +25,7 @@ import gregtech.api.interfaces.IHasFluidDisplayItem;
import gregtech.api.interfaces.metatileentity.IFluidLockable;
import gregtech.api.util.GT_Utility;
+@Deprecated
public class FluidDisplaySlotWidget extends SlotWidget {
private IHasFluidDisplayItem iHasFluidDisplay;
@@ -36,11 +37,7 @@ public class FluidDisplaySlotWidget extends SlotWidget {
private Action actionDragAndDrop = Action.NONE;
private BiFunction<ClickData, FluidDisplaySlotWidget, Boolean> beforeRealClick;
private BiFunction<ClickData, FluidDisplaySlotWidget, Boolean> beforeDragAndDrop;
- private Runnable updateFluidDisplayItem = () -> {
- if (iHasFluidDisplay != null) {
- iHasFluidDisplay.updateFluidDisplayItem();
- }
- };
+ private Runnable updateFluidDisplayItem = () -> {};
public FluidDisplaySlotWidget(BaseSlot slot) {
super(slot);
@@ -315,46 +312,9 @@ public class FluidDisplaySlotWidget extends SlotWidget {
updateFluidDisplayItem.run();
}
- protected void lockFluid(ItemStack cursorStack) {
- if (!(iHasFluidDisplay instanceof IFluidLockable mteToLock)) return;
-
- if (cursorStack == null) {
- if (!mteToLock.allowChangingLockedFluid(null)) return;
-
- mteToLock.lockFluid(false);
- mteToLock.setLockedFluidName(null);
- GT_Utility.sendChatToPlayer(getContext().getPlayer(), GT_Utility.trans("300.1", "Fluid Lock Cleared."));
+ protected void lockFluid(ItemStack cursorStack) {}
- if (!isClient()) {
- mteToLock.onFluidLockPacketReceived(null);
- }
- } else {
- FluidStack fluidStack = GT_Utility.getFluidFromContainerOrFluidDisplay(cursorStack);
- if (fluidStack == null) return;
- Fluid tFluid = fluidStack.getFluid();
- if (tFluid == null) return;
-
- if (!mteToLock.allowChangingLockedFluid(tFluid.getName())) return;
-
- mteToLock.lockFluid(true);
- mteToLock.setLockedFluidName(tFluid.getName());
- GT_Utility.sendChatToPlayer(
- getContext().getPlayer(),
- String.format(
- GT_Utility.trans("151.4", "Successfully locked Fluid to %s"),
- new FluidStack(tFluid, 1).getLocalizedName()));
-
- if (!isClient()) {
- mteToLock.onFluidLockPacketReceived(tFluid.getName());
- }
- }
- }
-
- protected void updateFluidDisplayItem() {
- if (iHasFluidDisplay != null) {
- iHasFluidDisplay.updateFluidDisplayItem();
- }
- }
+ protected void updateFluidDisplayItem() {}
// === setters ===
@@ -444,10 +404,6 @@ public class FluidDisplaySlotWidget extends SlotWidget {
return this;
}
- /**
- * By default, this widget runs {@link IHasFluidDisplayItem#updateFluidDisplayItem} after click. You can specify
- * custom update action with this method.
- */
public FluidDisplaySlotWidget setUpdateFluidDisplayItem(Runnable updateFluidDisplayItem) {
this.updateFluidDisplayItem = updateFluidDisplayItem;
return this;
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/FluidLockWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/FluidLockWidget.java
new file mode 100644
index 0000000000..5627a4fb8b
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/modularui/widget/FluidLockWidget.java
@@ -0,0 +1,17 @@
+package gregtech.common.gui.modularui.widget;
+
+import com.gtnewhorizons.modularui.common.widget.FluidNameHolderWidget;
+
+import gregtech.api.interfaces.metatileentity.IFluidLockable;
+
+public class FluidLockWidget extends FluidNameHolderWidget {
+
+ public FluidLockWidget(IFluidLockable fluidLockable) {
+ super(fluidLockable::getLockedFluidName, name -> {
+ if (fluidLockable.acceptsFluidLock(name)) {
+ fluidLockable.setLockedFluidName(name);
+ fluidLockable.lockFluid(name != null);
+ }
+ });
+ }
+}