package redstonedistortion.utils.helpers; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; /** * Copyright (c) 2014, AEnterprise * http://buildcraftadditions.wordpress.com/ * Buildcraft Additions is distributed under the terms of GNU GPL v3.0 * Please check the contents of the license located in * http://buildcraftadditions.wordpress.com/wiki/licensing-stuff/ */ public class SlotPhantom extends Slot { public SlotPhantom(IInventory inv, int slot, int x, int y) { super(inv, slot, x, y); } @Override public boolean canTakeStack(EntityPlayer player) { return false; } public ItemStack onLeftClick(ItemStack playerStack) { if (playerStack != null && isItemValid(playerStack)) { ItemStack phantomStack = playerStack.copy(); phantomStack.stackSize = 1; putStack(phantomStack); onSlotChanged(); } return null; } public ItemStack onRightClick(ItemStack playerStack) { if (getHasStack()) { putStack(null); onSlotChanged(); } return null; } public ItemStack onMiddleClick(ItemStack playerStack) { return null; } public ItemStack onClick(int mouseButton, EntityPlayer player) { switch (mouseButton) { case 0: return onLeftClick(player.inventory.getItemStack()); case 1: return onRightClick(player.inventory.getItemStack()); case 2: return onMiddleClick(player.inventory.getItemStack()); default: return null; } } }