aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/gui/modularui/widget
diff options
context:
space:
mode:
authorJason Mitchell <mitchej@gmail.com>2023-01-30 10:56:42 -0800
committerJason Mitchell <mitchej@gmail.com>2023-01-30 10:56:42 -0800
commit0d9aab72aa570f13dc3e32e0d32b3f3a95f95e0a (patch)
tree1e2c649f3a6ce3f6b2babd0098a5f4819e9cd0b6 /src/main/java/gregtech/common/gui/modularui/widget
parentf8cc82edeb9810c45cba762d733a2c909a302faa (diff)
downloadGT5-Unofficial-0d9aab72aa570f13dc3e32e0d32b3f3a95f95e0a.tar.gz
GT5-Unofficial-0d9aab72aa570f13dc3e32e0d32b3f3a95f95e0a.tar.bz2
GT5-Unofficial-0d9aab72aa570f13dc3e32e0d32b3f3a95f95e0a.zip
[ci skip] spotlessApply with the new settings
Diffstat (limited to 'src/main/java/gregtech/common/gui/modularui/widget')
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java7
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/CoverCycleButtonWidget.java28
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/CoverDataControllerWidget.java77
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_CycleButtonWidget.java5
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_SlotWidget.java11
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_TextFieldWidget.java9
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_ToggleButtonWidget.java8
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/DataControllerWidget.java41
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/FluidDisplaySlotWidget.java82
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/ItemWatcherSlotWidget.java10
10 files changed, 144 insertions, 134 deletions
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java
index f3620d3234..386bb7112c 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java
@@ -1,15 +1,18 @@
package gregtech.common.gui.modularui.widget;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.inventory.Slot;
+
import appeng.client.render.AppEngRenderItem;
import appeng.core.AELog;
import appeng.util.Platform;
+
import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot;
import com.gtnewhorizons.modularui.common.internal.wrapper.ModularGui;
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
+
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.client.renderer.entity.RenderItem;
-import net.minecraft.inventory.Slot;
public class AESlotWidget extends SlotWidget {
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/CoverCycleButtonWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/CoverCycleButtonWidget.java
index 599ed28a5f..70978351c2 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/CoverCycleButtonWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/CoverCycleButtonWidget.java
@@ -1,26 +1,28 @@
package gregtech.common.gui.modularui.widget;
+import org.lwjgl.opengl.GL11;
+
import com.gtnewhorizons.modularui.api.drawable.IDrawable;
import com.gtnewhorizons.modularui.api.drawable.UITexture;
import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget;
+
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.gui.modularui.GT_UITextures;
-import org.lwjgl.opengl.GL11;
/**
- * Fires click action on mouse release, not on press.
- * Draws different backgrounds depending on whether the mouse is being pressed or the widget is hovered.
+ * Fires click action on mouse release, not on press. Draws different backgrounds depending on whether the mouse is
+ * being pressed or the widget is hovered.
*/
public class CoverCycleButtonWidget extends CycleButtonWidget {
- private static final UITexture BUTTON_NORMAL_NOT_PRESSED =
- GT_UITextures.BUTTON_COVER_NORMAL.getSubArea(0, 0, 1, 0.5f);
+ private static final UITexture BUTTON_NORMAL_NOT_PRESSED = GT_UITextures.BUTTON_COVER_NORMAL
+ .getSubArea(0, 0, 1, 0.5f);
private static final UITexture BUTTON_NORMAL_PRESSED = GT_UITextures.BUTTON_COVER_NORMAL.getSubArea(0, 0.5f, 1, 1);
- private static final UITexture BUTTON_HOVERED_NOT_PRESSED =
- GT_UITextures.BUTTON_COVER_NORMAL_HOVERED.getSubArea(0, 0, 1, 0.5f);
- private static final UITexture BUTTON_HOVERED_PRESSED =
- GT_UITextures.BUTTON_COVER_NORMAL_HOVERED.getSubArea(0, 0.5f, 1, 1);
+ private static final UITexture BUTTON_HOVERED_NOT_PRESSED = GT_UITextures.BUTTON_COVER_NORMAL_HOVERED
+ .getSubArea(0, 0, 1, 0.5f);
+ private static final UITexture BUTTON_HOVERED_PRESSED = GT_UITextures.BUTTON_COVER_NORMAL_HOVERED
+ .getSubArea(0, 0.5f, 1, 1);
private boolean clickPressed;
@@ -74,15 +76,15 @@ public class CoverCycleButtonWidget extends CycleButtonWidget {
public IDrawable[] getBackground() {
if (isHovering()) {
if (clickPressed) {
- return new IDrawable[] {BUTTON_HOVERED_PRESSED};
+ return new IDrawable[] { BUTTON_HOVERED_PRESSED };
} else {
- return new IDrawable[] {BUTTON_HOVERED_NOT_PRESSED};
+ return new IDrawable[] { BUTTON_HOVERED_NOT_PRESSED };
}
} else {
if (clickPressed) {
- return new IDrawable[] {BUTTON_NORMAL_PRESSED};
+ return new IDrawable[] { BUTTON_NORMAL_PRESSED };
} else {
- return new IDrawable[] {BUTTON_NORMAL_NOT_PRESSED};
+ return new IDrawable[] { BUTTON_NORMAL_NOT_PRESSED };
}
}
}
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataControllerWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataControllerWidget.java
index d28117054a..3fa25abdbf 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataControllerWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataControllerWidget.java
@@ -1,35 +1,38 @@
package gregtech.common.gui.modularui.widget;
-import com.gtnewhorizons.modularui.api.widget.Widget;
-import com.gtnewhorizons.modularui.common.internal.network.NetworkUtils;
-import gregtech.api.gui.modularui.IDataFollowerWidget;
-import gregtech.api.util.GT_CoverBehaviorBase;
-import gregtech.api.util.ISerializableObject;
import java.io.IOException;
import java.util.function.BiFunction;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
+
import net.minecraft.network.PacketBuffer;
+import com.gtnewhorizons.modularui.api.widget.Widget;
+import com.gtnewhorizons.modularui.common.internal.network.NetworkUtils;
+
+import gregtech.api.gui.modularui.IDataFollowerWidget;
+import gregtech.api.util.GT_CoverBehaviorBase;
+import gregtech.api.util.ISerializableObject;
+
public class CoverDataControllerWidget<T extends ISerializableObject> extends DataControllerWidget<T> {
protected final GT_CoverBehaviorBase<T> coverBehavior;
/**
- * @param dataGetter () -> cover data this widget handles
- * @param dataSetter data to set -> if setting cover data is successful
+ * @param dataGetter () -> cover data this widget handles
+ * @param dataSetter data to set -> if setting cover data is successful
* @param coverBehavior cover this widget handles data update
*/
- public CoverDataControllerWidget(
- Supplier<T> dataGetter, Function<T, Boolean> dataSetter, GT_CoverBehaviorBase<T> coverBehavior) {
+ public CoverDataControllerWidget(Supplier<T> dataGetter, Function<T, Boolean> dataSetter,
+ GT_CoverBehaviorBase<T> coverBehavior) {
super(dataGetter, dataSetter);
this.coverBehavior = coverBehavior;
}
@Override
- public <U, W extends Widget & IDataFollowerWidget<T, U>> CoverDataControllerWidget<T> addFollower(
- W widget, Function<T, U> dataToStateGetter, BiFunction<T, U, T> dataUpdater, Consumer<W> applyForWidget) {
+ public <U, W extends Widget & IDataFollowerWidget<T, U>> CoverDataControllerWidget<T> addFollower(W widget,
+ Function<T, U> dataToStateGetter, BiFunction<T, U, T> dataUpdater, Consumer<W> applyForWidget) {
super.addFollower(widget, dataToStateGetter, dataUpdater, applyForWidget);
return this;
}
@@ -58,31 +61,27 @@ public class CoverDataControllerWidget<T extends ISerializableObject> extends Da
private final BiFunction<Integer, T, T> dataUpdater;
/**
- * @param coverDataGetter () -> cover data this widget handles
- * @param coverDataSetter data to set -> if setting cover data is successful
- * @param coverBehavior cover this widget handles data update
+ * @param coverDataGetter () -> cover data this widget handles
+ * @param coverDataSetter data to set -> if setting cover data is successful
+ * @param coverBehavior cover this widget handles data update
* @param dataToStateGetter (index of button, given cover data) -> button state
- * @param dataUpdater (index of button, current cover data) -> new cover data
+ * @param dataUpdater (index of button, current cover data) -> new cover data
*/
- public CoverDataIndexedControllerWidget_ToggleButtons(
- Supplier<T> coverDataGetter,
- Function<T, Boolean> coverDataSetter,
- GT_CoverBehaviorBase<T> coverBehavior,
- BiFunction<Integer, T, Boolean> dataToStateGetter,
- BiFunction<Integer, T, T> dataUpdater) {
+ public CoverDataIndexedControllerWidget_ToggleButtons(Supplier<T> coverDataGetter,
+ Function<T, Boolean> coverDataSetter, GT_CoverBehaviorBase<T> coverBehavior,
+ BiFunction<Integer, T, Boolean> dataToStateGetter, BiFunction<Integer, T, T> dataUpdater) {
super(coverDataGetter, coverDataSetter, coverBehavior);
this.dataToStateGetter = dataToStateGetter;
this.dataUpdater = dataUpdater;
}
/**
- * @param index index of widget to add
- * @param widget widget to add
+ * @param index index of widget to add
+ * @param widget widget to add
* @param applyForWidget methods to call for widget to add
*/
- public <W extends CoverDataFollower_ToggleButtonWidget<T>>
- CoverDataIndexedControllerWidget_ToggleButtons<T> addToggleButton(
- int index, W widget, Consumer<CoverDataFollower_ToggleButtonWidget<T>> applyForWidget) {
+ public <W extends CoverDataFollower_ToggleButtonWidget<T>> CoverDataIndexedControllerWidget_ToggleButtons<T> addToggleButton(
+ int index, W widget, Consumer<CoverDataFollower_ToggleButtonWidget<T>> applyForWidget) {
addFollower(
widget,
data -> dataToStateGetter.apply(index, data),
@@ -102,31 +101,27 @@ public class CoverDataControllerWidget<T extends ISerializableObject> extends Da
private final BiFunction<Integer, T, T> dataUpdater;
/**
- * @param coverDataGetter () -> cover data this widget handles
- * @param coverDataSetter data to set -> if setting cover data is successful
- * @param coverBehavior cover this widget handles data update
+ * @param coverDataGetter () -> cover data this widget handles
+ * @param coverDataSetter data to set -> if setting cover data is successful
+ * @param coverBehavior cover this widget handles data update
* @param dataToStateGetter (index of button, given cover data) -> button state
- * @param dataUpdater (index of button, current cover data) -> new cover data
+ * @param dataUpdater (index of button, current cover data) -> new cover data
*/
- public CoverDataIndexedControllerWidget_CycleButtons(
- Supplier<T> coverDataGetter,
- Function<T, Boolean> coverDataSetter,
- GT_CoverBehaviorBase<T> coverBehavior,
- BiFunction<Integer, T, Integer> dataToStateGetter,
- BiFunction<Integer, T, T> dataUpdater) {
+ public CoverDataIndexedControllerWidget_CycleButtons(Supplier<T> coverDataGetter,
+ Function<T, Boolean> coverDataSetter, GT_CoverBehaviorBase<T> coverBehavior,
+ BiFunction<Integer, T, Integer> dataToStateGetter, BiFunction<Integer, T, T> dataUpdater) {
super(coverDataGetter, coverDataSetter, coverBehavior);
this.dataToStateGetter = dataToStateGetter;
this.dataUpdater = dataUpdater;
}
/**
- * @param index index of widget to add
- * @param widget widget to add
+ * @param index index of widget to add
+ * @param widget widget to add
* @param applyForWidget methods to call for the widget to add
*/
- public <W extends CoverDataFollower_CycleButtonWidget<T>>
- CoverDataIndexedControllerWidget_CycleButtons<T> addCycleButton(
- int index, W widget, Consumer<CoverDataFollower_CycleButtonWidget<T>> applyForWidget) {
+ public <W extends CoverDataFollower_CycleButtonWidget<T>> CoverDataIndexedControllerWidget_CycleButtons<T> addCycleButton(
+ int index, W widget, Consumer<CoverDataFollower_CycleButtonWidget<T>> applyForWidget) {
addFollower(
widget,
data -> dataToStateGetter.apply(index, data),
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_CycleButtonWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_CycleButtonWidget.java
index d07165cc6e..6e69b1ff79 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_CycleButtonWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_CycleButtonWidget.java
@@ -1,10 +1,11 @@
package gregtech.common.gui.modularui.widget;
-import gregtech.api.gui.modularui.IDataFollowerWidget;
-import gregtech.api.util.ISerializableObject;
import java.util.function.Consumer;
import java.util.function.Function;
+import gregtech.api.gui.modularui.IDataFollowerWidget;
+import gregtech.api.util.ISerializableObject;
+
/**
* Determines button state with cover data.
*/
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_SlotWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_SlotWidget.java
index c09c5b5279..c7795efbdc 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_SlotWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_SlotWidget.java
@@ -1,15 +1,18 @@
package gregtech.common.gui.modularui.widget;
+import java.io.IOException;
+import java.util.function.Consumer;
+import java.util.function.Function;
+
+import net.minecraft.item.ItemStack;
+
import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
import com.gtnewhorizons.modularui.api.widget.Interactable;
import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot;
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
+
import gregtech.api.gui.modularui.IDataFollowerWidget;
import gregtech.api.util.ISerializableObject;
-import java.io.IOException;
-import java.util.function.Consumer;
-import java.util.function.Function;
-import net.minecraft.item.ItemStack;
public class CoverDataFollower_SlotWidget<T extends ISerializableObject> extends SlotWidget
implements IDataFollowerWidget<T, ItemStack> {
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_TextFieldWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_TextFieldWidget.java
index 9130f8e3d0..7d11656231 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_TextFieldWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_TextFieldWidget.java
@@ -1,15 +1,18 @@
package gregtech.common.gui.modularui.widget;
+import java.util.function.Consumer;
+import java.util.function.Function;
+
+import net.minecraft.client.gui.GuiScreen;
+
import com.gtnewhorizons.modularui.api.math.Alignment;
import com.gtnewhorizons.modularui.api.math.Color;
import com.gtnewhorizons.modularui.api.math.MathExpression;
import com.gtnewhorizons.modularui.common.widget.textfield.TextFieldWidget;
+
import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.gui.modularui.IDataFollowerWidget;
import gregtech.api.util.ISerializableObject;
-import java.util.function.Consumer;
-import java.util.function.Function;
-import net.minecraft.client.gui.GuiScreen;
public class CoverDataFollower_TextFieldWidget<T extends ISerializableObject> extends TextFieldWidget
implements IDataFollowerWidget<T, String> {
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_ToggleButtonWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_ToggleButtonWidget.java
index 8e091d7bc6..cb5fbf7994 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_ToggleButtonWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/CoverDataFollower_ToggleButtonWidget.java
@@ -1,11 +1,13 @@
package gregtech.common.gui.modularui.widget;
+import java.util.function.Consumer;
+import java.util.function.Function;
+
import com.gtnewhorizons.modularui.api.drawable.IDrawable;
+
import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.gui.modularui.IDataFollowerWidget;
import gregtech.api.util.ISerializableObject;
-import java.util.function.Consumer;
-import java.util.function.Function;
public class CoverDataFollower_ToggleButtonWidget<T extends ISerializableObject> extends CoverCycleButtonWidget
implements IDataFollowerWidget<T, Boolean> {
@@ -77,7 +79,7 @@ public class CoverDataFollower_ToggleButtonWidget<T extends ISerializableObject>
@Override
public IDrawable[] getBackground() {
- if (!canClick()) return new IDrawable[] {GT_UITextures.BUTTON_COVER_NORMAL_DISABLED};
+ if (!canClick()) return new IDrawable[] { GT_UITextures.BUTTON_COVER_NORMAL_DISABLED };
return super.getBackground();
}
}
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/DataControllerWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/DataControllerWidget.java
index f29b8eeaf9..4e9ac4a245 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/DataControllerWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/DataControllerWidget.java
@@ -1,26 +1,31 @@
package gregtech.common.gui.modularui.widget;
+import java.io.IOException;
+import java.util.function.BiFunction;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Supplier;
+
+import net.minecraft.network.PacketBuffer;
+
import com.gtnewhorizons.modularui.api.widget.ISyncedWidget;
import com.gtnewhorizons.modularui.api.widget.Widget;
import com.gtnewhorizons.modularui.common.internal.network.NetworkUtils;
import com.gtnewhorizons.modularui.common.widget.MultiChildWidget;
+
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.gui.modularui.IDataFollowerWidget;
import gregtech.api.util.ISerializableObject;
-import java.io.IOException;
-import java.util.function.BiFunction;
-import java.util.function.Consumer;
-import java.util.function.Function;
-import java.util.function.Supplier;
-import net.minecraft.network.PacketBuffer;
/**
- * Controls state of child widgets with specific data, and allows centralized control of multiple widgets.
- * e.g. clicking button B will set machine mode to B, so button A, whose state is bound to the mode,
- * will be automatically deactivated by this widget.
- * <br> This widget wraps data and handles validation, e.g. tell client to close GUI when tile is broken or cover is removed.
- * <br> Data can be anything, e.g. {@link ISerializableObject} or machine recipe mode.
+ * Controls state of child widgets with specific data, and allows centralized control of multiple widgets. e.g. clicking
+ * button B will set machine mode to B, so button A, whose state is bound to the mode, will be automatically deactivated
+ * by this widget. <br>
+ * This widget wraps data and handles validation, e.g. tell client to close GUI when tile is broken or cover is removed.
+ * <br>
+ * Data can be anything, e.g. {@link ISerializableObject} or machine recipe mode.
+ *
* @param <T> Data type stored in this widget
* @see IDataFollowerWidget
*/
@@ -139,15 +144,15 @@ public abstract class DataControllerWidget<T> extends MultiChildWidget implement
}
/**
- * @param widget widget to add that implements {@link IDataFollowerWidget}
+ * @param widget widget to add that implements {@link IDataFollowerWidget}
* @param dataToStateGetter given data -> state of the widget to add
- * @param dataUpdater (current data, state of the widget to add) -> new data to set
- * @param applyForWidget methods to call for the widget to add
- * @param <U> state type stored in the widget to add
- * @param <W> widget type to add
+ * @param dataUpdater (current data, state of the widget to add) -> new data to set
+ * @param applyForWidget methods to call for the widget to add
+ * @param <U> state type stored in the widget to add
+ * @param <W> widget type to add
*/
- public <U, W extends Widget & IDataFollowerWidget<T, U>> DataControllerWidget<T> addFollower(
- W widget, Function<T, U> dataToStateGetter, BiFunction<T, U, T> dataUpdater, Consumer<W> applyForWidget) {
+ public <U, W extends Widget & IDataFollowerWidget<T, U>> DataControllerWidget<T> addFollower(W widget,
+ Function<T, U> dataToStateGetter, BiFunction<T, U, T> dataUpdater, Consumer<W> applyForWidget) {
widget.setDataToStateGetter(dataToStateGetter);
widget.setStateSetter(state -> {
T newData = dataUpdater.apply(getLastData(), state);
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 688800e4ef..182f007b33 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/FluidDisplaySlotWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/FluidDisplaySlotWidget.java
@@ -1,19 +1,12 @@
package gregtech.common.gui.modularui.widget;
-import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
-import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot;
-import com.gtnewhorizons.modularui.common.widget.SlotWidget;
-import gregtech.GT_Mod;
-import gregtech.api.interfaces.IFluidAccess;
-import gregtech.api.interfaces.IHasFluidDisplayItem;
-import gregtech.api.interfaces.metatileentity.IFluidLockable;
-import gregtech.api.util.GT_Utility;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.function.BiFunction;
import java.util.function.Predicate;
import java.util.function.Supplier;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
@@ -22,6 +15,16 @@ import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
+import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
+import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot;
+import com.gtnewhorizons.modularui.common.widget.SlotWidget;
+
+import gregtech.GT_Mod;
+import gregtech.api.interfaces.IFluidAccess;
+import gregtech.api.interfaces.IHasFluidDisplayItem;
+import gregtech.api.interfaces.metatileentity.IFluidLockable;
+import gregtech.api.util.GT_Utility;
+
public class FluidDisplaySlotWidget extends SlotWidget {
private IHasFluidDisplayItem iHasFluidDisplay;
@@ -57,11 +60,10 @@ public class FluidDisplaySlotWidget extends SlotWidget {
if (interactionDisabled) return ClickResult.REJECT;
/*
- * While a logical client don't really need to process fluid cells upon click (it could have just wait
- * for server side to send the result), doing so would result in every fluid interaction having a
- * noticeable delay between clicking and changes happening even on single player.
- * I'd imagine this lag to become only more severe when playing MP over ethernet, which would have much more latency
- * than a memory connection
+ * While a logical client don't really need to process fluid cells upon click (it could have just wait for
+ * server side to send the result), doing so would result in every fluid interaction having a noticeable delay
+ * between clicking and changes happening even on single player. I'd imagine this lag to become only more severe
+ * when playing MP over ethernet, which would have much more latency than a memory connection
*/
ClickData clickData = ClickData.create(buttonId, doubleClick);
ItemStack verifyToken = executeRealClick(clickData);
@@ -126,8 +128,7 @@ public class FluidDisplaySlotWidget extends SlotWidget {
ItemStack serverVerifyToken = executeRealClick(clickData);
// similar to what NetHandlerPlayServer#processClickWindow does
if (!ItemStack.areItemStacksEqual(clientVerifyToken, serverVerifyToken)) {
- ((EntityPlayerMP) getContext().getPlayer())
- .sendContainerToPlayer(getContext().getContainer());
+ ((EntityPlayerMP) getContext().getPlayer()).sendContainerToPlayer(getContext().getContainer());
}
}
@@ -140,8 +141,8 @@ public class FluidDisplaySlotWidget extends SlotWidget {
ItemStack ret = null;
if (actionRealClick == Action.TRANSFER) {
if (fluidAccessConstructor == null) {
- GT_Mod.GT_FML_LOGGER.warn(
- "FluidDisplaySlotWidget is asked to transfer fluid, but fluidAccessConstructor is null!");
+ GT_Mod.GT_FML_LOGGER
+ .warn("FluidDisplaySlotWidget is asked to transfer fluid, but fluidAccessConstructor is null!");
return null;
}
ret = transferFluid(
@@ -158,12 +159,8 @@ public class FluidDisplaySlotWidget extends SlotWidget {
return ret;
}
- protected ItemStack transferFluid(
- IFluidAccess aFluidAccess,
- EntityPlayer aPlayer,
- boolean aProcessFullStack,
- boolean aCanDrain,
- boolean aCanFill) {
+ protected ItemStack transferFluid(IFluidAccess aFluidAccess, EntityPlayer aPlayer, boolean aProcessFullStack,
+ boolean aCanDrain, boolean aCanFill) {
ItemStack tStackHeld = aPlayer.inventory.getItemStack();
ItemStack tStackSizedOne = GT_Utility.copyAmount(1, tStackHeld);
if (tStackSizedOne == null || tStackHeld.stackSize == 0) return null;
@@ -224,12 +221,10 @@ public class FluidDisplaySlotWidget extends SlotWidget {
if (aProcessFullStack) {
int tFilledAmount = tOriginalFluidAmount - tTankStack.amount;
/*
- work out how many more items we can fill
- one cell is already used, so account for that
- the round down behavior will left over a fraction of a cell worth of fluid
- the user then get to decide what to do with it
- it will not be too fancy if it spills out partially filled cells
- */
+ * work out how many more items we can fill one cell is already used, so account for that the round down
+ * behavior will left over a fraction of a cell worth of fluid the user then get to decide what to do
+ * with it it will not be too fancy if it spills out partially filled cells
+ */
int tAdditionalParallel = Math.min(tStackHeld.stackSize - 1, tTankStack.amount / tFilledAmount);
tTankStack.amount -= tFilledAmount * tAdditionalParallel;
tFilledContainer.stackSize += tAdditionalParallel;
@@ -240,8 +235,8 @@ public class FluidDisplaySlotWidget extends SlotWidget {
return tFilledContainer;
}
- protected static ItemStack fillFluid(
- IFluidAccess aFluidAccess, EntityPlayer aPlayer, FluidStack aFluidHeld, boolean aProcessFullStack) {
+ protected static ItemStack fillFluid(IFluidAccess aFluidAccess, EntityPlayer aPlayer, FluidStack aFluidHeld,
+ boolean aProcessFullStack) {
// we are not using aMachine.fill() here any more, so we need to check for fluid type here ourselves
if (aFluidAccess.get() != null && !aFluidAccess.get().isFluidEqual(aFluidHeld)) return null;
ItemStack tStackHeld = aPlayer.inventory.getItemStack();
@@ -402,8 +397,8 @@ public class FluidDisplaySlotWidget extends SlotWidget {
}
/**
- * Add a predicate on whether a client stack will be accepted. Note this will only be called when this slot is already
- * empty. It is assumed whatever is already in the slot will pass the filter.
+ * Add a predicate on whether a client stack will be accepted. Note this will only be called when this slot is
+ * already empty. It is assumed whatever is already in the slot will pass the filter.
*/
public FluidDisplaySlotWidget setEmptyCanFillFilter(Predicate<Fluid> canFillFilter) {
this.canFillFilter = canFillFilter;
@@ -411,8 +406,7 @@ public class FluidDisplaySlotWidget extends SlotWidget {
}
/**
- * Sets action called on drag-and-drop from NEI.
- * You can't use {@link Action#TRANSFER} here.
+ * Sets action called on drag-and-drop from NEI. You can't use {@link Action#TRANSFER} here.
*/
public FluidDisplaySlotWidget setActionDragAndDrop(Action actionDragAndDrop) {
this.actionDragAndDrop = actionDragAndDrop;
@@ -421,6 +415,7 @@ public class FluidDisplaySlotWidget extends SlotWidget {
/**
* Sets function called before {@link #executeRealClick}.
+ *
* @param beforeRealClick (click data, this widget) -> if allow click
*/
public FluidDisplaySlotWidget setBeforeRealClick(
@@ -431,6 +426,7 @@ public class FluidDisplaySlotWidget extends SlotWidget {
/**
* Sets function called before {@link #executeDragAndDrop}.
+ *
* @param beforeDragAndDrop (click data, this widget) -> if allow click
*/
public FluidDisplaySlotWidget setBeforeDragAndDrop(
@@ -441,7 +437,8 @@ public class FluidDisplaySlotWidget extends SlotWidget {
/**
* Sets function called before both of {@link #executeRealClick} and {@link #executeDragAndDrop}.
- * @param beforeClick (click data, this widget) -> if allow click
+ *
+ * @param beforeClick (click data, this widget) -> if allow click
*/
public FluidDisplaySlotWidget setBeforeClick(BiFunction<ClickData, FluidDisplaySlotWidget, Boolean> beforeClick) {
setBeforeRealClick(beforeClick);
@@ -450,8 +447,8 @@ public class FluidDisplaySlotWidget extends SlotWidget {
}
/**
- * By default, this widget runs {@link IHasFluidDisplayItem#updateFluidDisplayItem} after click.
- * You can specify custom update action with this method.
+ * 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;
@@ -464,20 +461,17 @@ public class FluidDisplaySlotWidget extends SlotWidget {
public enum Action {
/**
- * Fill/drain fluid into/from the tank.
- * Uses fluid amount, so drag-and-drop cannot use this mode.
+ * Fill/drain fluid into/from the tank. Uses fluid amount, so drag-and-drop cannot use this mode.
*/
TRANSFER,
/**
- * Lock fluid for {@link IFluidLockable}.
- * Does not use fluid amount.
+ * Lock fluid for {@link IFluidLockable}. Does not use fluid amount.
*/
LOCK,
/**
- * Set filter for the tank. (not implemented yet)
- * Does not use fluid amount.
+ * Set filter for the tank. (not implemented yet) Does not use fluid amount.
*/
FILTER,
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/ItemWatcherSlotWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/ItemWatcherSlotWidget.java
index 7385208874..265450d384 100644
--- a/src/main/java/gregtech/common/gui/modularui/widget/ItemWatcherSlotWidget.java
+++ b/src/main/java/gregtech/common/gui/modularui/widget/ItemWatcherSlotWidget.java
@@ -1,16 +1,18 @@
package gregtech.common.gui.modularui.widget;
+import java.util.function.Supplier;
+
+import net.minecraft.item.ItemStack;
+
import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
import com.gtnewhorizons.modularui.api.forge.ItemStackHandler;
import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot;
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
import gregtech.api.util.GT_Utility;
-import java.util.function.Supplier;
-import net.minecraft.item.ItemStack;
/**
- * Watches specific ItemStack and pulls changes from it.
- * Player cannot interact with slot, other than viewing NEI recipe or adding bookmark.
+ * Watches specific ItemStack and pulls changes from it. Player cannot interact with slot, other than viewing NEI recipe
+ * or adding bookmark.
*/
public class ItemWatcherSlotWidget extends SlotWidget {