2014-12-15 00:11:48 +00:00
|
|
|
package com.cricketcraft.chisel.inventory;
|
2014-11-26 20:03:54 -05:00
|
|
|
|
2015-02-14 22:15:45 -05:00
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
2015-02-16 12:40:08 -05:00
|
|
|
import net.minecraft.inventory.Container;
|
2014-11-26 20:03:54 -05:00
|
|
|
import net.minecraft.inventory.IInventory;
|
|
|
|
|
import net.minecraft.inventory.Slot;
|
2015-02-14 22:15:45 -05:00
|
|
|
import net.minecraft.item.ItemStack;
|
2014-11-26 20:03:54 -05:00
|
|
|
|
2015-02-16 12:40:08 -05:00
|
|
|
public class ContainerPresent extends Container {
|
2015-01-07 19:50:18 -05:00
|
|
|
|
|
|
|
|
private IInventory lower;
|
|
|
|
|
private int rows;
|
|
|
|
|
|
|
|
|
|
public ContainerPresent(IInventory player, IInventory chest) {
|
|
|
|
|
lower = chest;
|
|
|
|
|
rows = chest.getSizeInventory() / 9;
|
|
|
|
|
chest.openInventory();
|
|
|
|
|
int a = (rows - 4) * 18;
|
|
|
|
|
|
|
|
|
|
for (int d = 0; d < rows; d++) {
|
|
|
|
|
for (int e = 0; e < 9; e++) {
|
|
|
|
|
addSlotToContainer(new Slot(chest, e + d * 9, 8 + e * 18, 18 + d * 18));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int d = 0; d < 3; d++) {
|
|
|
|
|
for (int e = 0; e < 9; e++) {
|
|
|
|
|
addSlotToContainer(new Slot(player, e + d * 9 + 9, 8 + e * 18, 103 + d * 18 + a));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int d = 0; d < 9; d++) {
|
|
|
|
|
addSlotToContainer(new Slot(player, d, 8 + d * 18, 161 + a));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IInventory getLowerPresentInventory() {
|
|
|
|
|
return lower;
|
|
|
|
|
}
|
2015-02-14 22:15:45 -05:00
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) {
|
|
|
|
|
|
|
|
|
|
ItemStack itemstack = null;
|
|
|
|
|
Slot slot = (Slot) this.inventorySlots.get(p_82846_2_);
|
|
|
|
|
|
|
|
|
|
if (slot != null && slot.getHasStack())
|
|
|
|
|
{
|
|
|
|
|
ItemStack itemstack1 = slot.getStack();
|
|
|
|
|
itemstack = itemstack1.copy();
|
|
|
|
|
|
|
|
|
|
if (p_82846_2_ < rows * 9)
|
|
|
|
|
{
|
2015-02-16 12:40:08 -05:00
|
|
|
if (!this.mergeItemStack(itemstack1, rows * 9, inventorySlots.size(), true))
|
2015-02-14 22:15:45 -05:00
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (!this.mergeItemStack(itemstack1, 0, rows * 9, false))
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (itemstack1.stackSize == 0)
|
|
|
|
|
{
|
|
|
|
|
slot.putStack((ItemStack) null);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
slot.onSlotChanged();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return itemstack;
|
|
|
|
|
}
|
2015-02-16 12:40:08 -05:00
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean canInteractWith(EntityPlayer p_75145_1_) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2014-11-26 20:03:54 -05:00
|
|
|
}
|