package mods.eln.transparentnode.electricalmachine;
import mods.eln.generic.GenericItemUsingDamageSlot;
import mods.eln.gui.ISlotSkin.SlotSkin;
import mods.eln.gui.SlotWithSkin;
import mods.eln.item.MachineBoosterDescriptor;
import mods.eln.misc.BasicContainer;
import mods.eln.node.INodeContainer;
import mods.eln.node.NodeBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import static mods.eln.i18n.I18N.tr;
public class ElectricalMachineContainer extends BasicContainer implements INodeContainer {
private NodeBase node = null;
public ElectricalMachineContainer(NodeBase node, EntityPlayer player, IInventory inventory,
ElectricalMachineDescriptor descriptor) {
super(player, inventory, getSlot(inventory, descriptor));
this.node = node;
}
private static Slot[] getSlot(IInventory inventory, ElectricalMachineDescriptor descriptor) {
Slot[] slots = new Slot[2 + descriptor.outStackCount];
for (int idx = 0; idx < descriptor.outStackCount; idx++) {
slots[idx] = new SlotWithSkin(inventory, idx, 130 - 32 + idx * 18, 12, SlotSkin.medium);
}
slots[descriptor.outStackCount] = new SlotWithSkin(inventory,
descriptor.outStackCount, 8 + 36, 12, SlotSkin.medium);
slots[descriptor.outStackCount + 1] = new GenericItemUsingDamageSlot(inventory,
descriptor.outStackCount + 1, 8, 12, 5,
MachineBoosterDescriptor.class,
SlotSkin.medium,
new String[]{tr("Booster slot")});
return slots;
}
@Override
public NodeBase getNode() {
return node;
}
@Override
public int getRefreshRateDivider() {
return 1;
}
}