Files
Chisel/src/main/java/com/cricketcraft/chisel/inventory/ContainerPresent.java
T

81 lines
1.8 KiB
Java
Raw Normal View History

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;
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
public class ContainerPresent extends Container {
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)
{
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;
}
@Override
public boolean canInteractWith(EntityPlayer p_75145_1_) {
return true;
}
2014-11-26 20:03:54 -05:00
}