来自Terraria Wiki
跳转至: 导航搜索
Lua logo.svg
This template uses Module:Recipes, a script written in the Lua programming language. Please see wikipedia:Lua and mw:Extension:Scribunto to learn more about Lua.

此模板定义表格“Recipes”。 查看表格.

Template-info.svg 文档 以下文档内容来自模板:Recipes/doc。 (edit | history)

Query crafting recipes from database and display them as crafts table.


Parameters for query constraints:

station = station1/station2/...

List only recipes that using these stations.

stationnot = station1/station2/...

Exclude recipes that using these stations.

result = result1/result2/...

List only recipes that will get this result item.It also possible to do pattern search using SQL LIKE syntax like this: result=LIKE %Phaseblade, multiple:result=Iron Bar/LIKE %Phaseblade, note that "LIKE" must be all uppercase.

resultnot = result1/result2/...

Exclude recipes that will get this result item.It also possible to do pattern search using SQL LIKE syntax like this: resultnot=LIKE %Phaseblade, multiple:resultnot=Iron Bar/LIKE %Phaseblade, note that "LIKE" must be all uppercase.

ingredient = ingredient1/ingredient2/...

List only recipes that contain this item in its ingredient list. You can use "Any xxx" as ingredient name for some substitutable items group; and, if you query a item in one of substitutable item group, you will get "Any xxx" as well. Prefix name with "#" will turn this off on this item(and only on this item). For example, if you query by |ingredient=Shadewood, you will get recipes as if you query by ingredient=#Shadewood/#Any Wood; |ingredient=#Shadewood/Iron Bar equals to |ingredient=#Shadewood/#Iron Bar/#Any Iron Bar.It also possible to do pattern search using SQL LIKE syntax like this: ingredient=LIKE %Phaseblade, multiple:ingredient=Iron Bar/LIKE %Phaseblade, note that "LIKE" must be all uppercase.

NOTE: The relationship between above parameters is "and", and the relationship of multiple values inside single parameter is "or". For example, |station=Sawmill/Loom|resultnot=Silk means (in SQL style):(station = Sawmill OR station = Loom) AND result <> Silk

where = whereString

Raw input string for where parameter of cargo query. If specified, all of above parameters are ignored. Used to write complex queries when necessary, with caution.

Other parameters:


The content of table caption.

grouping = n/no

Turn off result & ext cols grouping.

nostation = y

If set, Crafting Station column will be hidden.

showresultid = y

If set, result item will show their internal item ID (if available).

cate = no/force

By default, this template will add transcluding page to crafting station category if crafting result is the page title itself. cate=no will disable this. cate=force will force categorization, no matter what the result and page title are.

link = n/no

Set to n/no will make result item have no link.

expectedrows = number

Assert the expected number of rows in this crafts table. If expected and actual number of rows are not equal, this page will be added to Category:Recipes_table_with_unexcepted_total_number_of_rows.

sortable = n/no

Make the table unsortable.

class =
id =

HTML class/id attribute for outer wrapper div element.


{{recipes|ingredient=Bone|station=Bone Welder|resultnot=Bone Block Wall|expectedrows=18}}

Query for all Bone furniture. Select all recipes that have 骨头骨头 as one of its ingredient, and crafting station is 骨头焊机骨头焊机电脑版、主机版、前代主机版、和移动版, then exclude 骨块墙骨块墙 from list. There are 18 items in Bone furniture, so we assert expectedrows=18.

Register Recipes[编辑源代码]

Recipes in database are registered by {{recipes/register}}, all recipes should be registered on the corresponding crafting station page ( Recipes/[station] ), e.g. Recipes/Sawmill. For usage of {{recipes/register}}, see its document.

Advanced Usage[编辑源代码]

Custom Table Header[编辑源代码]

header-result = content of result <th>, default is Result
header-ingredients = content of ingredients<th>, default is Ingredients
header-station = content of crafting station<th>, default is [[Crafting station]]

Adding extra columns/rows around crafting stations[编辑源代码]

Only valid when nostation not be set.

Define cols:


Column headers before crafting station column


Column headers before crafting station column

Define index key for row content:

station-index-Furnace = _a

Define index key for "Furnace"(as station parameter), for example

Define actual contents:

_a-row-station-col-before-1 =
_a-row-station-col-before-2 =


_a-row-station-col-after-1 =

Define contents for <td> using index key.

Adding extra cols/rows around by crafting results[编辑源代码]

Define columns:








The order in which all columns are displayed is:
col-As • Resultcol-Bs • Ingredientscol-Cs • station-col-befores • Crafting Stationstation-col-afters • Col-Ds

Define index key for row content:
Define index key for a row(Priority in this order):

result-index-#3 = _a

Define by row number

result-index-Crimtane Bar-desktop console = _a

Define by result name + version info

result-index-Copper Bar = _a

Define by result name

Define actual contents:

_a-row-col-A-1 =

Define contents for <td> using index key, corresponds to the definition of columns.

Adding extra rows[编辑源代码]

NOTE: extra rows don't count into expectedrows.

Before recipe rows:

topextrow-1-col-result =
topextrow-1-col-ingredients =
topextrow-1-col-station =
topextrow-1-col-ingredients =
topextrow-1-col-C-2 =


topextrow-2-col-result =


After recipe rows:

extrow-1-col-result =
extrow-1-col-ingredients =
extrow-1-col-station =
extrow-1-col-B-1 =
extrow-1-col-C-1 =


extrow-2-col-result =


See Bars and Recovery Potions for examples.