diff options
| author | Glease <4586901+Glease@users.noreply.github.com> | 2022-01-04 01:19:56 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-03 18:19:56 +0100 |
| commit | 5cf9aa8a9033d19ea7dd2b8739384c08006f4da2 (patch) | |
| tree | 369f3d482f200e7fdcee1df9eb62f4365d6be0e7 /src/main/java/gregtech/nei | |
| parent | ce70eef5b55ee411800606f621af8bafd7eff70e (diff) | |
| download | GT5-Unofficial-5cf9aa8a9033d19ea7dd2b8739384c08006f4da2.tar.gz GT5-Unofficial-5cf9aa8a9033d19ea7dd2b8739384c08006f4da2.tar.bz2 GT5-Unofficial-5cf9aa8a9033d19ea7dd2b8739384c08006f4da2.zip | |
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
Diffstat (limited to 'src/main/java/gregtech/nei')
| -rw-r--r-- | src/main/java/gregtech/nei/GT_NEI_GuiAdapter.java | 24 | ||||
| -rw-r--r-- | src/main/java/gregtech/nei/NEI_GT_Config.java | 1 |
2 files changed, 25 insertions, 0 deletions
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; } |
