aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
commit6d1b2216464d4dad449ac6fcfec476832224a55e (patch)
tree526a0c15f7056313c80e6c0386e025e9b3f61781 /src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget
parentb5d35f40afa606ed1b07061dad82e0521a59c186 (diff)
downloadGT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.gz
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.bz2
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.zip
Merge addon sources
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/ElectricSlotWidget.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/ElectricSlotWidget.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/ElectricSlotWidget.java
new file mode 100644
index 0000000000..e522d41799
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/ElectricSlotWidget.java
@@ -0,0 +1,40 @@
+package gtPlusPlus.xmod.gregtech.api.gui.widget;
+
+import net.minecraft.item.ItemStack;
+
+import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
+import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot;
+import com.gtnewhorizons.modularui.common.widget.SlotWidget;
+
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import ic2.api.info.Info;
+import ic2.api.item.ElectricItem;
+import ic2.api.item.IElectricItem;
+
+public class ElectricSlotWidget extends SlotWidget {
+
+ public ElectricSlotWidget(IItemHandlerModifiable handler, int index) {
+ this(new BaseSlot(handler, index, false) {
+
+ @Override
+ public int getSlotStackLimit() {
+ return 1;
+ }
+ });
+ }
+
+ private ElectricSlotWidget(BaseSlot slot) {
+ super(slot);
+ setFilter(
+ stack -> (accepts(stack)) || (stack.getItem() instanceof GT_MetaGenerated_Tool)
+ || (stack.getItem() instanceof IElectricItem));
+ }
+
+ private boolean accepts(final ItemStack stack) {
+ if (stack == null) {
+ return false;
+ }
+ return (Info.itemEnergy.getEnergyValue(stack) > 0.0D)
+ || (ElectricItem.manager.discharge(stack, (1.0D / 0.0D), 4, true, true, true) > 0.0D);
+ }
+}