/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.gui.containers;
import mods.railcraft.api.core.items.IMinecartItem;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot;
import mods.railcraft.common.blocks.machine.gamma.TileDispenserCart;
import mods.railcraft.common.gui.slots.SlotMinecart;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
public class ContainerDispenserCart extends RailcraftContainer {
public TileDispenserCart tile;
private Slot cartSlot;
public ContainerDispenserCart(InventoryPlayer inventoryplayer, TileDispenserCart tile) {
super(tile);
this.tile = tile;
addSlot(cartSlot = new SlotDispenserCart(tile, 0, 62, 24));
addSlot(new SlotDispenserCart(tile, 1, 80, 24));
addSlot(new SlotDispenserCart(tile, 2, 98, 24));
for (int i = 0; i < 3; i++) {
for (int k = 0; k < 9; k++) {
addSlot(new Slot(inventoryplayer, k + i * 9 + 9, 8 + k * 18, 58 + i * 18));
}
}
for (int j = 0; j < 9; j++) {
addSlot(new Slot(inventoryplayer, j, 8 + j * 18, 116));
}
}
private class SlotDispenserCart extends SlotMinecart {
public SlotDispenserCart(IInventory iinventory, int slotIndex, int posX, int posY) {
super(iinventory, slotIndex, posX, posY);
}
@Override
public boolean isItemValid(ItemStack stack) {
if (stack == null)
return false;
if (stack.getItem() instanceof IMinecartItem)
return ((IMinecartItem) stack.getItem()).canBePlacedByNonPlayer(stack);
return super.isItemValid(stack);
}
}
}