Модуль:GetField/doc: различия между версиями
Pok (обсуждение | вклад) Новая страница: «{{docpage}} Модуль предназначен для получения данных из кэшированных JSON-страниц и их использования в шаблонах. С его помощью можно получить поле по пути, найти id по значению или сразу собрать вызов шаблона по найденным данным. Поля берутся из json страниц * <code...» |
Pok (обсуждение | вклад) Нет описания правки |
||
| (не показаны 4 промежуточные версии этого же участника) | |||
| Строка 52: | Строка 52: | ||
Пример: | Пример: | ||
* {{tji|Модуль:GetField|getTpl|MopItem| | * {{tji|Модуль:GetField|getTpl|MopItem|сomponent/spillable.json|сomponent/spillable}} | ||
{{Параметры| | {{Параметры| | ||
| Строка 78: | Строка 78: | ||
Примеры: | Примеры: | ||
* {{tji|Модуль:GetField|searchId|Elements|[[Участник:IanComradeBot/prototype/reaction.json|prototype/reaction.json]]|group}} -> {{GetField| | * {{tji|Модуль:GetField|searchId|Elements|[[Участник:IanComradeBot/prototype/reaction.json|prototype/reaction.json]]|group}} -> {{#invoke:GetField|searchId|Stir|prototype/reaction.json|requiredMixerCategories}} | ||
{{Параметры| | {{Параметры| | ||
| Строка 88: | Строка 88: | ||
}} | }} | ||
=== | === search === | ||
Ищет сущности, у которых есть указанные компоненты или теги. Поддерживается поиск по нескольким значениям через запятую: сущность попадёт в результат только если содержит все перечисленные элементы. | |||
Использование: | Использование: | ||
* {{tji|Модуль:GetField| | * {{tji|Модуль:GetField|search|component|componentName}} | ||
* {{tji|Модуль:GetField|search|tag|tagName}} | |||
Режимы: | |||
* <code>component</code> — ищет сущности по списку компонентов. | |||
* <code>tag</code> — ищет сущности по списку тегов. | |||
Результат: | |||
* возвращается JSON-массив id найденных сущностей; | |||
* в режиме <code>component</code> результат также JSON-массив, без дополнительного форматирования. | |||
Примеры: | |||
* {{tji|Модуль:GetField| | * {{tji|Модуль:GetField|search|component|Emag}} -> {{#invoke:GetField|search|component|Emag}} | ||
* {{tji|Модуль:GetField|search|tag|Crayon}} -> {{#invoke:GetField|search|tag|Crayon}} | |||
{{Параметры| | {{Параметры| | ||
{{Параметры/строка|1| | {{Параметры/строка|1|Режим поиска: <code>component</code> или <code>tag</code>.|Да}} | ||
{{Параметры/строка|2| | {{Параметры/строка|2|Список компонентов или тегов через запятую. Все указанные значения должны присутствовать у сущности.|Да}} | ||
}} | }} | ||
| Строка 115: | Строка 123: | ||
Примеры: | Примеры: | ||
* {{tji|Модуль:GetField|searchStore|MopItem|component|itemBorgModule}} -> {{GetField| | * {{tji|Модуль:GetField|searchStore|MopItem|component|itemBorgModule}} -> {{#invoke:GetField|searchStore|MopItem|component|itemBorgModule}} | ||
* {{tji|Модуль:GetField|searchStore|MopItem|prototype|latheRecipe}} -> {{GetField| | * {{tji|Модуль:GetField|searchStore|MopItem|prototype|latheRecipe}} -> {{#invoke:GetField|searchStore|MopItem|prototype|latheRecipe}} | ||
{{Параметры| | {{Параметры| | ||
| Строка 143: | Строка 151: | ||
{{Параметры/строка|2|Имя шаблона для <code>getAllTpl</code>.|Только для <code>getAllTpl</code>}} | {{Параметры/строка|2|Имя шаблона для <code>getAllTpl</code>.|Только для <code>getAllTpl</code>}} | ||
{{Параметры/строка|replace|Строка замены для <code>getAll</code>. Если задана, результат выводится построчно вместо JSON-массива.|Нет}} | {{Параметры/строка|replace|Строка замены для <code>getAll</code>. Если задана, результат выводится построчно вместо JSON-массива.|Нет}} | ||
}} | |||
=== hasComp === | |||
Проверяет, есть ли у сущности указанный компонент. | |||
Использование: | |||
* {{tji|Модуль:GetField|hasComp|entityId|componentName}} | |||
Возвращает строку <code>true</code> или <code>false</code>. | |||
Пример: | |||
* {{tji|Модуль:GetField|hasComp|MopItem|Item}} | |||
{{Параметры| | |||
{{Параметры/строка|1|Id сущности.|Да}} | |||
{{Параметры/строка|2|Имя компонента для проверки.|Да}} | |||
}} | |||
=== getComp === | |||
Возвращает список всех компонентов сущности в виде JSON-массива. | |||
Использование: | |||
* {{tji|Модуль:GetField|getComp|entityId}} | |||
Пример: | |||
* {{tji|Модуль:GetField|getComp|MopItem}} -> ["Item","Sprite","MeleeWeapon","SolutionContainerManager"...] | |||
{{Параметры| | |||
{{Параметры/строка|1|Id сущности.|Да}} | |||
}} | }} | ||
| Строка 152: | Строка 189: | ||
* {{tji|Модуль:GetField|jsonList|<nowiki>{"MopItem":"Швабра"}</nowiki>}} | * {{tji|Модуль:GetField|jsonList|<nowiki>{"MopItem":"Швабра"}</nowiki>}} | ||
* {{tji|Модуль:GetField|jsonList|<nowiki>{"MopItem":"Швабра"}</nowiki>|type{{=}}enum}} | * {{tji|Модуль:GetField|jsonList|<nowiki>{"MopItem":"Швабра"}</nowiki>|type{{=}}enum}} | ||
* {{tji|Модуль:GetField|jsonList|<nowiki>["a","b","c"]</nowiki>|max{{=}}1}} | |||
Основные параметры: | Основные параметры: | ||
| Строка 159: | Строка 197: | ||
* <code>replace</code> — дополнительная обработка регулярным выражением уже собранной строки. | * <code>replace</code> — дополнительная обработка регулярным выражением уже собранной строки. | ||
* <code>key_replace</code>, <code>value_replace</code> — обработка ключей и значений регулярным выражением по отдельности. | * <code>key_replace</code>, <code>value_replace</code> — обработка ключей и значений регулярным выражением по отдельности. | ||
* <code>max</code> — максимальное количество элементов, которые нужно обработать. Если не задан, обрабатывается весь список. | |||
Примеры: | Примеры: | ||
* {{tji|Модуль:GetField|jsonList|<nowiki>["a","b","c"]</nowiki>}} | * {{tji|Модуль:GetField|jsonList|<nowiki>["a","b","c"]</nowiki>}} | ||
* {{tji|Модуль:GetField|jsonList|<nowiki>{"MopItem":"Швабра"}</nowiki>|type{{=}}list}} | * {{tji|Модуль:GetField|jsonList|<nowiki>{"MopItem":"Швабра"}</nowiki>|type{{=}}list}} | ||
* {{tji|Модуль:GetField|jsonList|<nowiki>{"MopItem":"Швабра"}</nowiki>|type{{=}}none| | * {{tji|Модуль:GetField|jsonList|<nowiki>{"MopItem":"Швабра"}</nowiki>|type{{=}}none|value_replace{{=}}{{tag|nowiki|style=regular|content=<nowiki>[[\1]]</nowiki>}}}} | ||
* {{tji|Модуль:GetField|jsonList|<nowiki>["a","b","c"]</nowiki>|max{{=}}1}} | |||
{{Параметры| | {{Параметры| | ||
| Строка 172: | Строка 212: | ||
{{Параметры/строка|key_replace|Строка замены для ключей.|Нет; <code>\1</code>}} | {{Параметры/строка|key_replace|Строка замены для ключей.|Нет; <code>\1</code>}} | ||
{{Параметры/строка|value_replace|Строка замены для значений.|Нет; <code>\1</code>}} | {{Параметры/строка|value_replace|Строка замены для значений.|Нет; <code>\1</code>}} | ||
{{Параметры/строка|replace|Строка замены для всего вывода.|Нет; <code>\1</code>}} | |||
{{Параметры/строка|max|Максимальное количество элементов для обработки.|Нет; весь список}} | |||
}} | }} | ||