From 5cf9aa8a9033d19ea7dd2b8739384c08006f4da2 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Tue, 4 Jan 2022 01:19:56 +0800 Subject: Allow drag and drop from NEI to set output hatch locking (#845) * Allow drag and drop from NEI to set output hatch locking also cleaned up the output hatch networking code * Add not locked indicator --- src/main/java/gregtech/nei/GT_NEI_GuiAdapter.java | 24 +++++++++++++++++++++++ src/main/java/gregtech/nei/NEI_GT_Config.java | 1 + 2 files changed, 25 insertions(+) create mode 100644 src/main/java/gregtech/nei/GT_NEI_GuiAdapter.java (limited to 'src/main/java/gregtech/nei') diff --git a/src/main/java/gregtech/nei/GT_NEI_GuiAdapter.java b/src/main/java/gregtech/nei/GT_NEI_GuiAdapter.java new file mode 100644 index 0000000000..f70462110d --- /dev/null +++ b/src/main/java/gregtech/nei/GT_NEI_GuiAdapter.java @@ -0,0 +1,24 @@ +package gregtech.nei; + +import codechicken.nei.api.INEIGuiAdapter; +import gregtech.api.enums.GT_Values; +import gregtech.api.net.GT_Packet_SetLockedFluid; +import gregtech.api.util.GT_Utility; +import gregtech.common.gui.GT_GUIContainer_OutputHatch; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +public class GT_NEI_GuiAdapter extends INEIGuiAdapter { + @Override + public boolean handleDragNDrop(GuiContainer gui, int mousex, int mousey, ItemStack draggedStack, int button) { + if (gui instanceof GT_GUIContainer_OutputHatch && ((GT_GUIContainer_OutputHatch) gui).isMouseOverSlot(3, mousex, mousey)) { + FluidStack tFluidStack = GT_Utility.getFluidForFilledItem(draggedStack, true); + if (tFluidStack != null) { + GT_Values.NW.sendToServer(new GT_Packet_SetLockedFluid(((GT_GUIContainer_OutputHatch) gui).mContainer.mTileEntity, tFluidStack)); + return true; + } + } + return super.handleDragNDrop(gui, mousex, mousey, draggedStack, button); + } +} diff --git a/src/main/java/gregtech/nei/NEI_GT_Config.java b/src/main/java/gregtech/nei/NEI_GT_Config.java index 0b4476eeef..b5cf8776e1 100644 --- a/src/main/java/gregtech/nei/NEI_GT_Config.java +++ b/src/main/java/gregtech/nei/NEI_GT_Config.java @@ -62,6 +62,7 @@ public class NEI_GT_Config implements IConfigureNEI { handlers.forEach(NEI_GT_Config::addHandler); codechicken.nei.api.API.addItemListEntry(ItemList.VOLUMETRIC_FLASK.get(1)); + codechicken.nei.api.API.registerNEIGuiHandler(new GT_NEI_GuiAdapter()); } sIsAdded = true; } -- cgit