Files
PrimalEnergy/src/main/java/nmd/primal/energy/container/ContainerCrankGrinder.java
2015-08-29 11:33:55 -04:00

62 lines
1.8 KiB
Java

package nmd.primal.energy.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 nmd.primal.energy.tileents.TileEntLatheBase;
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
public class ContainerCrankGrinder extends Container{
protected TileEntCrankGrinder tile;
public boolean canInteractWith(EntityPlayer player) {
return tile.isUseableByPlayer(player);
}
public ContainerCrankGrinder (InventoryPlayer inventoryPlayer, TileEntCrankGrinder te){
tile = te;
addSlotToContainer(new Slot(tile, 0, 80, 34));
addSlotToContainer(new Slot(tile, 1, 80, 34));
bindPlayerInventory(inventoryPlayer);
}
protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 9; j++) {
addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9,
8 + j * 18, 84 + i * 18));
}
}
for (int i = 0; i < 9; i++) {
addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slot) {
ItemStack stack = null;
Slot slotObject = (Slot) inventorySlots.get(slot);
if (slotObject != null && slotObject.getHasStack()) {
ItemStack stackInSlot = slotObject.getStack();
stack = stackInSlot.copy();
if (slot < 9) {
if (!this.mergeItemStack(stackInSlot, 9, this.inventorySlots.size(), true)) {
return null;
}
}
else if (!this.mergeItemStack(stackInSlot, 0, 9, false)) {
return null;
}
if (stackInSlot.stackSize == 0) {
slotObject.putStack((ItemStack)null);
} else {
slotObject.onSlotChanged();
}
}
return stack;
}
}