Перейти к содержанию

Модуль:Таблица рецептов/док

Материал из LemonCraft Wiki
Эта страница документации, она будет включена в основную страницу. Больше информации на странице Шаблон:Документация.

Этот модуль используется для создания таблицы, в которой перечисляются рецепты обработки блоков и предметов (например крафта, плавки, зельеварения). Такие таблицы обычно состоят из двух или трёх столбцов (графов): в первом указываются ингредиенты для рецепта, во втором — представление интерфейса обработчика, приближенное к таковому в игре, в третьем — получаемый результат (обычно не показывается, если рецепт в таблице один). Также может добавляться столбец с примечанием.

Модуль может использоваться только в других модулях для реализации построения таблиц рецептов; напрямую в шаблонах модуль не может использоваться, так как требует дополнительные настройки, передаваемые не через стандартный список аргументов.

Использование

Для создания таблицы используется функция table, принимающая два параметра — аргументы шаблона и настройки самой таблицы рецептов. Настройки должны быть ассоциативным массивом, включающим следующие поля:

  • тип и типа — название процесса обработки, соответственно в именительном и в родительном падеже. Первый определяет ссылку на процесс обработки в столбце с визуализацией процесса (для модификаций — соответствующую подстраницу), второй — текст ссылки, а также содержимое HTML-атрибута таблицы data-description (в обоих случаях будет написано «Рецепт <обработки>»).
  • обработчик и обработчика — название обработчика, также в двух падежах; могут использоваться вместо параметров тип и типа, при этом в заголовке столбца с визуализацией процесса будет написано «Рецепт для <обработчика>». Это поля имеют меньший приоритет, чем тип и типа соответственно.
    • Допустимо совместное использование полей обработчик и типа в случае, если не задано поле тип. Такое использование имеет смысл, если есть статья для обработчика, но не для процесса обработки.
    • Если все вышеуказанные поля не заданы, то по умолчанию будут использоваться «Процесс» в качестве заголовка столбца, а в качестве содержимого HTML-атрибута data-description — «Рецепты обработки».
  • функция интерфейса — либо название функции, реализующей представление интерфейса обработчика, либо прямая ссылка на эту функцию.
  • модуль интерфейса — название модуля (с префиксом Модуль:), содержащего функцию, чьё название указано в поле функция интерфейса (по умолчанию Модуль:Интерфейс).
  • аргументы ингредиентов и аргументы выхода — списки аргументов шаблона (функции модуля), где указываются, соответственно, ингредиенты рецепта и продукты рецепта. Они будут автоматически перечислены в соответствующих ячейках таблицы, если это не переопределено вручную (см. Типовые аргументы шаблонов).
  • модификация — название модификации, к которой относится обработчик. Оно задаёт модификацию по умолчанию для рецепта и корневую страницу для ссылки в заголовке столбца рецептов.

Функция возвращает два значения: строку с построенной таблицей рецептов (или её частью), а также список наборов ингредиентов, который может использоваться в работе системы автоматического перечисления рецептов, в которых участвует тот или иной ингредиент.

Типовые аргументы шаблонов

  • глава и подвал — задают соответственно начало и конец таблицы из нескольких строк. Если оба аргумента не заданы, то вызов шаблона создаёт таблицу из одной строки.
  • мод или Мод — задаёт для рецепта модификацию по умолчанию (переопределяет значение поля модификация из настроек таблицы).
  • показатьназвание или показатьимя — при значении 1 указывает, что в таблице должен быть показан столбец с продуктами рецептов, при любом другом значении столбец не будет показан.
  • название — переопределяет содержимое ячейки, где обычно указывается результат рецепта.
  • ингредиенты — переопределяет содержимое ячейки, где обычно указываются ингредиенты рецепта.
  • показатьописание — при значении 1 указывает, что в таблице должен быть показан столбец с примечаниями.
  • описание — задаёт дополнительное описание рецепта или примечание к нему.
  • несколько обработок — переопределяет заголовок таблицы так, чтобы он не был привязан к конкретному методу обработки. Хотя это противоречит руководству по стилю, но группировка нескольких видов рецептов в одну таблицу имеет место во многих статьях по модификациям.
  • класс — задаёт CSS-классы для таблицы, если используется в шаблоне с параметром глава.

Зависимости

  • Модуль:Инвентарный слот — функция parseFrameText для обработки строк, задающих блоки и предметы в слотах, а также выражения для поиска типовых прилагательных (используются при перечислении ингредиентов и продуктов обработки).
  • Модуль:Интерфейс (по умолчанию) — модуль с функциями, реализующими интерфейс обработчика. В настройках таблицы рецептов может быть задан другой модуль или же напрямую передана ссылка на соответствующую функцию (в случае, если вызов происходит в том же модуле, что реализует интерфейс).
  • Модуль:Специальные утилиты — функция mergeList для добавления в таблицу либо элементов списка по отдельности, либо ассоциативного массива целиком, либо отдельно взятой строки.
  • Модуль:Модификации — таблица сокращений для модификаций.


en:Module:Recipe table/doc es:Módulo:Recipe table/doc fr:Module:Tableau de recette/doc ja:モジュール:Recipe table/doc pt:Módulo:Recipe table/doc uk:Модуль:Recipe table/док