@Override
  public ItemStack[] extractItem(boolean doRemove, ForgeDirection direction, int maxItemCount) {
    if (direction.ordinal() > 0 && direction.ordinal() < 6) {
      SocketModule m = getSide(direction);
      SideConfig c = configs[direction.ordinal()];

      if (m.isItemInterface() && m.canExtractItems()) {
        ItemStack temp = m.itemExtract(maxItemCount, doRemove, c, this);
        if (temp != null) return new ItemStack[] {temp};
      }
    }
    return new ItemStack[] {};
  }