diff options
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/container/ContainerRingChest.java')
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/container/ContainerRingChest.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/container/ContainerRingChest.java b/src/main/java/darkknight/jewelrycraft/container/ContainerRingChest.java new file mode 100644 index 0000000..925ded7 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/container/ContainerRingChest.java @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.container; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntityChest; + +public class ContainerRingChest extends Container +{ + public TileEntityChest theChest; + + /** + * @param inv + * @param chest + */ + public ContainerRingChest(InventoryPlayer inv, TileEntityChest chest) + { + theChest = chest; + int x, y; + for(x = 0; x < 9; x++) + addSlotToContainer(new SlotRingChest(inv, x, 8 + 18 * x, 142, x == inv.currentItem)); + for(y = 0; y < 3; y++) + for(x = 0; x < 9; x++) + addSlotToContainer(new Slot(inv, x + 9 + y * 9, 8 + 18 * x, 84 + y * 18)); + for(y = 0; y < 3; y++) + for(x = 0; x < 9; x++) + addSlotToContainer(new SlotRingChest(chest, 26 - (x + y * 9), 8 + 18 * (8 - x), 17 + (2 - y) * 18, false)); + } + + /** + * @param player + * @return + */ + @Override + public boolean canInteractWith(EntityPlayer player) + { + return true; + } + + /** + * @param par1EntityPlayer + * @param par2 + * @return + */ + @Override + public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) + { + ItemStack itemstack = null; + Slot slot = (Slot)inventorySlots.get(par2); + if (slot != null && slot.getHasStack()){ + ItemStack itemstack1 = slot.getStack(); + itemstack = itemstack1.copy(); + if (par2 < 27){ + if (!mergeItemStack(itemstack1, 27, inventorySlots.size(), true)) return null; + }else if (!mergeItemStack(itemstack1, 0, 27, false)) return null; + if (itemstack1.stackSize == 0) slot.putStack((ItemStack)null); + else slot.onSlotChanged(); + } + return itemstack; + } +} |
