Files
refinedstorage/src/main/java/storagecraft/container/ContainerDrive.java
Raoul Van den Berge b3b8440268 permissions
2016-01-27 15:03:32 +01:00

73 lines
1.3 KiB
Java

package storagecraft.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import storagecraft.StorageCraftItems;
import storagecraft.container.slot.SlotItemFilter;
import storagecraft.tile.TileDrive;
public class ContainerDrive extends ContainerBase
{
public ContainerDrive(EntityPlayer player, TileDrive drive)
{
super(player);
int x = 71;
int y = 20;
for (int i = 0; i < 8; ++i)
{
addSlotToContainer(new SlotItemFilter(drive, i, x, y, StorageCraftItems.STORAGE_CELL));
if ((i + 1) % 2 == 0)
{
x = 71;
y += 18;
}
else
{
x += 18;
}
}
addPlayerInventory(8, 108);
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int index)
{
ItemStack stack = null;
Slot slot = getSlot(index);
if (slot != null && slot.getHasStack())
{
stack = slot.getStack().copy();
if (index < 8)
{
if (!mergeItemStack(stack, 8, inventorySlots.size(), true))
{
return null;
}
}
else if (!mergeItemStack(stack, 0, 8, false))
{
return null;
}
if (stack.stackSize == 0)
{
slot.putStack(null);
}
else
{
slot.onSlotChanged();
}
}
return stack;
}
}