package com.austinv11.peripheralsplusplus.tiles.containers;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerInteractiveSorter extends Container {
private EntityPlayer player;
private IInventory inv;
private final int slotX = 80;
private final int slotY = 34;
public ContainerInteractiveSorter(EntityPlayer player, IInventory inv, int xSize, int ySize) {
this.player = player;
this.inv = inv;
inv.openInventory();
layout(xSize,ySize);
}
protected void layout(int xSize, int ySize) {
//for (int invRow = 0; invRow < inv.amountOfRows(); invRow++) {
// for (int invCol = 0; invCol < inv.amountOfColumns(); invCol++) {
//addSlotToContainer(inv, invCol+row*column, 12+invCol*18,8+invRow*18);
// }
//}
addSlotToContainer(new Slot(inv,0,slotX,slotY));
int leftCol = (xSize - 162) / 2 + 1;
for (int playerInvRow = 0; playerInvRow < 3; playerInvRow++) {
for (int playerInvCol = 0; playerInvCol < 9; playerInvCol++) {
addSlotToContainer(new Slot(player.inventory, playerInvCol + playerInvRow * 9 + 9, leftCol + playerInvCol * 18, ySize - (4 - playerInvRow) * 18 - 10));
}
}
for (int hotbarSlot = 0; hotbarSlot < 9; hotbarSlot++) {
addSlotToContainer(new Slot(player.inventory, hotbarSlot, leftCol + hotbarSlot * 18, ySize - 24));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) {
/*ItemStack itemstack = null;
Slot slot = (Slot) inventorySlots.get(p_82846_2_);
if (slot != null && slot.getHasStack()) {
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
if (p_82846_2_ < inventorySlots.size()) {
if (!mergeItemStack(itemstack1, 0, inventorySlots.size(), false)) {
return null;
}
} else if (!mergeItemStack(itemstack1, 0, 1, true)) {
return null;
}
if (itemstack1.stackSize == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();
}
}
return itemstack;*/
ItemStack var2 = null;
Slot var3 = (Slot)this.inventorySlots.get(p_82846_2_);
if (var3 != null && var3.getHasStack()) {
ItemStack var4 = var3.getStack();
var2 = var4.copy();
if (p_82846_2_ < 1) {
if (!this.mergeItemStack(var4, 1, this.inventorySlots.size(), true)) {
return null;
}
} else if (!this.mergeItemStack(var4, 0, 1, false)) return null;
if (var4.stackSize == 0) var3.putStack((ItemStack)null);
else var3.onSlotChanged();
}
return var2;
}
@Override
public boolean canInteractWith(EntityPlayer p_75145_1_) {
return inv.isUseableByPlayer(p_75145_1_);
}
}