package openmods.container; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class FakeSlot extends Slot implements ICustomSlot { private final boolean keepSize; public FakeSlot(IInventory inventory, int slot, int x, int y, boolean keepSize) { super(inventory, slot, x, y); this.keepSize = keepSize; } @Override public ItemStack onClick(EntityPlayer player, int button, int modifier) { if (button == 2 && player.capabilities.isCreativeMode) { ItemStack contents = getStack(); if (contents != null) { ItemStack tmp = contents.copy(); tmp.stackSize = tmp.getMaxStackSize(); player.inventory.setItemStack(tmp); return tmp; } } ItemStack held = player.inventory.getItemStack(); ItemStack place = null; if (held != null) { place = held.copy(); if (!keepSize) place.stackSize = 1; } inventory.setInventorySlotContents(slotNumber, place); onSlotChanged(); return place; } @Override public boolean canDrag() { return false; } @Override public boolean canTransferItemsOut() { return false; } @Override public boolean canTransferItemsIn() { return false; } }