package codechicken.nei.recipe; import codechicken.nei.NEIClientConfig; import codechicken.nei.NEIClientUtils; import codechicken.nei.guihook.GuiContainerManager; import codechicken.nei.guihook.IContainerInputHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; public class RecipeItemInputHandler implements IContainerInputHandler { @Override public boolean lastKeyTyped(GuiContainer gui, char keyChar, int keyCode) { ItemStack stackover = GuiContainerManager.getStackMouseOver(gui); if (stackover == null) { return false; } if (keyCode == NEIClientConfig.getKeyBinding("gui.usage") || (keyCode == NEIClientConfig.getKeyBinding("gui.recipe") && NEIClientUtils.shiftKey())) { return GuiUsageRecipe.openRecipeGui("item", stackover.copy()); } if (keyCode == NEIClientConfig.getKeyBinding("gui.recipe")) { return GuiCraftingRecipe.openRecipeGui("item", stackover.copy()); } return false; } @Override public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) { ItemStack stackover = GuiContainerManager.getStackMouseOver(gui); if (stackover == null || !(gui instanceof GuiRecipe)) { return false; } if (button == 0) { return GuiCraftingRecipe.openRecipeGui("item", stackover.copy()); } if (button == 1) { return GuiUsageRecipe.openRecipeGui("item", stackover.copy()); } return false; } @Override public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) { } @Override public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) { } @Override public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) { } @Override public boolean keyTyped(GuiContainer gui, char keyChar, int keyID) { return false; } @Override public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { return false; } @Override public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { } @Override public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) { } }