mirror of
https://github.com/GTNewHorizons/WirelessCraftingTerminal.git
synced 2026-11-13 00:47:32 +00:00
Drag & drop from NEI to search support
https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/9094
This commit is contained in:
1 parent
9ce6963f09
commit
dbf53773c3
3 files changed
+39
-19
No files matched your search
+11
@@ -1375,4 +1375,15 @@ public class GuiWirelessCraftingTerminal extends GuiContainer implements ISortSo
|
||||
return this.configSrc.getSetting(Settings.VIEW_MODE);
|
||||
}
|
||||
|
||||
public boolean isOverSearchField(int x, int y)
|
||||
{
|
||||
return searchField.isMouseIn(x - guiLeft, y - guiTop);
|
||||
}
|
||||
public void setSearchString(String memoryText)
|
||||
{
|
||||
this.searchField.setText(memoryText);
|
||||
this.repo.setSearchString(memoryText);
|
||||
this.repo.updateView();
|
||||
this.setScrollBar();
|
||||
}
|
||||
}
|
||||
@@ -34,6 +34,7 @@ import net.p455w0rd.wirelesscraftingterminal.integration.IIntegrationModule;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.IntegrationHelper;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.abstraction.INEI;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.modules.NEIHelpers.NEIAEShapedRecipeHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.modules.NEIHelpers.NEIGUIHandler;
|
||||
|
||||
public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
@Reflected
|
||||
@@ -62,25 +63,8 @@ public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
API.registerGuiOverlay(net.p455w0rd.wirelesscraftingterminal.client.gui.GuiWirelessCraftingTerminal.class, "crafting", new WCTSlotPositioner());
|
||||
API.registerGuiOverlayHandler(net.p455w0rd.wirelesscraftingterminal.client.gui.GuiWirelessCraftingTerminal.class, new WCTOverlayHandler(), "crafting");
|
||||
API.registerRecipeHandler(new NEIAEShapedRecipeHandler());
|
||||
API.registerRecipeHandler( new NEIAEShapelessRecipeHandler() );
|
||||
|
||||
/*
|
||||
final Method registerGuiOverlay = this.apiClass.getDeclaredMethod("registerGuiOverlay", Class.class, String.class, IStackPositioner.class);
|
||||
registerGuiOverlay.invoke(this.apiClass, net.p455w0rd.wirelesscraftingterminal.client.gui.GuiWirelessCraftingTerminal.class, "crafting",
|
||||
new WCTSlotPositioner());
|
||||
|
||||
final Class overlayHandler = Class.forName("codechicken.nei.api.IOverlayHandler");
|
||||
WCTOverlayHandler craftingOverlayHandler = new WCTOverlayHandler();
|
||||
final Method registrar = this.apiClass.getDeclaredMethod("registerGuiOverlayHandler", Class.class, overlayHandler, String.class);
|
||||
registrar.invoke(this.apiClass, net.p455w0rd.wirelesscraftingterminal.client.gui.GuiWirelessCraftingTerminal.class,
|
||||
craftingOverlayHandler, "crafting");
|
||||
*/
|
||||
|
||||
|
||||
// final Class<NEICraftingHandler> defaultHandler =
|
||||
// NEICraftingHandler.class;
|
||||
// final Constructor defaultConstructor = defaultHandler.getConstructor(
|
||||
// int.class, int.class );
|
||||
API.registerRecipeHandler(new NEIAEShapelessRecipeHandler());
|
||||
API.registerNEIGuiHandler(new NEIGUIHandler());
|
||||
|
||||
}
|
||||
|
||||
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration.modules.NEIHelpers;
|
||||
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import codechicken.nei.api.INEIGuiAdapter;
|
||||
import net.p455w0rd.wirelesscraftingterminal.client.gui.GuiWirelessCraftingTerminal;
|
||||
|
||||
public class NEIGUIHandler extends INEIGuiAdapter
|
||||
{
|
||||
@Override
|
||||
public boolean handleDragNDrop(GuiContainer gui, int mousex, int mousey, ItemStack draggedStack, int button)
|
||||
{
|
||||
if (gui instanceof GuiWirelessCraftingTerminal && draggedStack != null && draggedStack.getItem() != null)
|
||||
{
|
||||
GuiWirelessCraftingTerminal gmm = (GuiWirelessCraftingTerminal)gui;
|
||||
if (gmm.isOverSearchField(mousex, mousey))
|
||||
{
|
||||
gmm.setSearchString(draggedStack.getDisplayName());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.handleDragNDrop(gui, mousex, mousey, draggedStack, button);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user