Example usage for net.minecraftforge.client.event GuiScreenEvent.KeyboardInputEvent.Post getGui

List of usage examples for net.minecraftforge.client.event GuiScreenEvent.KeyboardInputEvent.Post getGui

Introduction

In this page you can find the example usage for net.minecraftforge.client.event GuiScreenEvent.KeyboardInputEvent.Post getGui.

Prototype

public Screen getGui() 

Source Link

Document

The GuiScreen object generating this event.

Usage

From source file:vazkii.quark.management.feature.FToSwitchItems.java

License:Creative Commons License

@SubscribeEvent
public void keyboardEvent(GuiScreenEvent.KeyboardInputEvent.Post event) {
    if (GameSettings.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindSwapHands)
            && event.getGui() instanceof GuiContainer) {
        GuiContainer gui = (GuiContainer) event.getGui();
        Slot slot = gui.getSlotUnderMouse();
        if (slot != null) {
            IInventory inv = slot.inventory;
            if (inv instanceof InventoryPlayer) {
                int index = slot.getSlotIndex();

                if (Minecraft.getMinecraft().player.capabilities.isCreativeMode && index >= 36)
                    index -= 36; // Creative mode messes with the indexes for some reason

                if (index < ((InventoryPlayer) inv).mainInventory.size())
                    NetworkHandler.INSTANCE.sendToServer(new MessageSwapItems(index));
            }//ww w .  j a  va 2  s  .  co  m
        }
    }
}

From source file:vazkii.quark.management.feature.LinkItems.java

License:Creative Commons License

@SubscribeEvent
public void keyboardEvent(GuiScreenEvent.KeyboardInputEvent.Post event) {
    if (GameSettings.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindChat)
            && event.getGui() instanceof GuiContainer && GuiScreen.isShiftKeyDown()) {
        GuiContainer gui = (GuiContainer) event.getGui();

        Slot slot = gui.getSlotUnderMouse();
        if (slot != null && slot.inventory != null && !"tmp".equals(slot.inventory.getName())) { // "tmp" checks for a creative inventory
            ItemStack stack = slot.getStack();

            if (!stack.isEmpty())
                NetworkHandler.INSTANCE.sendToServer(new MessageLinkItem(stack));
        }/*from w ww  .jav  a 2  s . com*/
    }
}