View difference between Paste ID: GZab6deb and mQV0XT32
SHOW: | | - or go back to the newest paste.
1
package net.minecraft.src;
2
3
public class ContainerTiny extends Container {
4
5
	protected TileEntityTiny tileEntity;
6
	
7
	public ContainerTiny (TileEntityTiny te, InventoryPlayer inventoryPlayer) {
8
		tileEntity = te;
9
		
10
		addSlotToContainer(new Slot(tileEntity, 0, 76, 37));
11
		
12
		bindPlayerInventory(inventoryPlayer);
13
	}
14
	
15
	@Override
16
	public boolean canInteractWith(EntityPlayer player) {
17
		return tileEntity.isUseableByPlayer(player);
18
	}
19
20
	protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
21
		for (int i = 0; i < 3; i++) {
22
			for (int j = 0; i < 9; j++) {
23
				addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
24
			}
25
		}
26
		
27
		for (int i = 0; i < 9; i++) {
28
			addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
29
		}
30
	}
31
	
32
	@Override
33
	public ItemStack transferStackInSlot(int slot) {
34
		ItemStack stack = null;
35
		Slot slotObject = (Slot)inventorySlots.get(slot);
36
		
37
		if (slotObject != null && slotObject.getHasStack()) {
38
			ItemStack stackInSlot = slotObject.getStack();
39
			stack = stackInSlot.copy();
40
			
41
			if (slot == 0) {
42
				if (!mergeItemStack(stackInSlot, 1, inventorySlots.size(), true)) {
43
					return null;
44
				}
45
			} else if (!mergeItemStack(stackInSlot, 0, 1, false)) {
46
				return null;
47
			}
48
			
49
			if (stackInSlot.stackSize == 0) {
50
				slotObject.putStack(null);
51
			} else {
52
				slotObject.onSlotChanged();
53
			}
54
		}
55
		
56
		return stack;
57
	}
58
}