net.minecraft.screen.slot.SlotActionType Java Examples
The following examples show how to use
net.minecraft.screen.slot.SlotActionType.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ContainerScreen54Mixin.java From Wurst7 with GNU General Public License v3.0 | 6 votes |
private void shiftClickSlots(int from, int to, int mode) { this.mode = mode; for(int i = from; i < to; i++) { Slot slot = handler.slots.get(i); if(slot.getStack().isEmpty()) continue; waitForDelay(); if(this.mode != mode || client.currentScreen == null) break; onMouseClick(slot, slot.id, 0, SlotActionType.QUICK_MOVE); } }
Example #2
Source File: MixinMerchantContainer.java From multiconnect with MIT License | 6 votes |
@Unique private void autofill(ClientPlayerInteractionManager interactionManager, ClientPlayerEntity player, int inputSlot, ItemStack stackNeeded) { if (stackNeeded.isEmpty()) return; int slot; for (slot = 3; slot < 39; slot++) { ItemStack stack = slots.get(slot).getStack(); if (stack.getItem() == stackNeeded.getItem() && ItemStack.areTagsEqual(stack, stackNeeded)) { break; } } if (slot == 39) return; boolean wasHoldingItem = !player.inventory.getCursorStack().isEmpty(); interactionManager.clickSlot(syncId, slot, 0, SlotActionType.PICKUP, player); interactionManager.clickSlot(syncId, slot, 0, SlotActionType.PICKUP_ALL, player); interactionManager.clickSlot(syncId, inputSlot, 0, SlotActionType.PICKUP, player); if (wasHoldingItem) interactionManager.clickSlot(syncId, slot, 0, SlotActionType.PICKUP, player); }
Example #3
Source File: AutoTotem.java From bleachhack-1.14 with GNU General Public License v3.0 | 6 votes |
@Subscribe public void onTick(EventTick event) { if (mc.player.getOffHandStack().getItem() == Items.TOTEM_OF_UNDYING) return; /* Inventory */ for (int i = 9; i < 44; i++) { if (mc.player.inventory.getStack(i).getItem() == Items.TOTEM_OF_UNDYING) { mc.interactionManager.clickSlot(0, 0, i, SlotActionType.PICKUP, mc.player); mc.interactionManager.clickSlot(1, 0, 45, SlotActionType.PICKUP, mc.player); return; } } /* Hotbar */ for (int i = 0; i < 8; i++) { if (mc.player.inventory.getStack(i).getItem() == Items.TOTEM_OF_UNDYING) { //int oldSlot = mc.player.inventory.currentItem; mc.player.inventory.selectedSlot = i; mc.player.networkHandler.sendPacket(new PlayerActionC2SPacket( Action.SWAP_ITEM_WITH_OFFHAND, BlockPos.ORIGIN, Direction.DOWN)); //mc.player.inventory.currentItem = oldSlot; return; } } }
Example #4
Source File: WItemSlot.java From LibGui with MIT License | 5 votes |
@Environment(EnvType.CLIENT) @Override public void onKeyPressed(int ch, int key, int modifiers) { if (isActivationKey(ch) && host instanceof ScreenHandler && focusedSlot >= 0) { ScreenHandler handler = (ScreenHandler) host; MinecraftClient client = MinecraftClient.getInstance(); ValidatedSlot peer = peers.get(focusedSlot); client.interactionManager.clickSlot(handler.syncId, peer.id, 0, SlotActionType.PICKUP, client.player); } }
Example #5
Source File: ClientPlayerInteractionManagerMixin.java From Wurst7 with GNU General Public License v3.0 | 4 votes |
@Override public ItemStack windowClick_PICKUP(int slot) { return clickSlot(0, slot, 0, SlotActionType.PICKUP, client.player); }
Example #6
Source File: ClientPlayerInteractionManagerMixin.java From Wurst7 with GNU General Public License v3.0 | 4 votes |
@Override public ItemStack windowClick_QUICK_MOVE(int slot) { return clickSlot(0, slot, 0, SlotActionType.QUICK_MOVE, client.player); }
Example #7
Source File: ClientPlayerInteractionManagerMixin.java From Wurst7 with GNU General Public License v3.0 | 4 votes |
@Override public ItemStack windowClick_THROW(int slot) { return clickSlot(0, slot, 1, SlotActionType.THROW, client.player); }
Example #8
Source File: ClientPlayerInteractionManagerMixin.java From Wurst7 with GNU General Public License v3.0 | 4 votes |
@Shadow public abstract ItemStack clickSlot(int int_1, int int_2, int int_3, SlotActionType slotActionType_1, PlayerEntity playerEntity_1);
Example #9
Source File: SyncedGuiDescription.java From LibGui with MIT License | 4 votes |
@Override public ItemStack onSlotClick(int slotNumber, int button, SlotActionType action, PlayerEntity player) { if (action==SlotActionType.QUICK_MOVE) { if (slotNumber < 0) { return ItemStack.EMPTY; } if (slotNumber>=this.slots.size()) return ItemStack.EMPTY; Slot slot = this.slots.get(slotNumber); if (slot == null || !slot.canTakeItems(player)) { return ItemStack.EMPTY; } ItemStack remaining = ItemStack.EMPTY; if (slot != null && slot.hasStack()) { ItemStack toTransfer = slot.getStack(); remaining = toTransfer.copy(); //if (slot.inventory==blockInventory) { if (blockInventory!=null) { if (slot.inventory==blockInventory) { //Try to transfer the item from the block into the player's inventory if (!this.insertItem(toTransfer, this.playerInventory, true, player)) { return ItemStack.EMPTY; } } else if (!this.insertItem(toTransfer, this.blockInventory, false, player)) { //Try to transfer the item from the player to the block return ItemStack.EMPTY; } } else { //There's no block, just swap between the player's storage and their hotbar if (!swapHotbar(toTransfer, slotNumber, this.playerInventory, player)) { return ItemStack.EMPTY; } } if (toTransfer.isEmpty()) { slot.setStack(ItemStack.EMPTY); } else { slot.markDirty(); } } return remaining; } else { return super.onSlotClick(slotNumber, button, action, player); } }