Template:Crafting usage/doc

From Minecraft Wiki
Jump to: navigation, search
This is the documentation page, it should be transcluded into the main template page. See Template:Documentation for more information
Lua logo.svg
This template uses Module:Crafting usage, a script written in Lua.
Please see wp:Lua and mw:Extension:Scribunto to learn more.

This template automatically populates the "As a crafting ingredient" section of pages by retrieving recipes from other pages which use it as an ingredient.

Only pages which are in Category:Recipe using <ingredient> (category list) are searched for recipes. Only recipes using {{crafting}} are used.

If no relevant recipes are found, the page will be added to Category:Empty crafting usage.

Usage[edit]

  • {{{1}}}: is used to control which category to look through and which ingredient it is looking for, this defaults to the page name. Multiple ingredients can be specified here, separated by commas.
  • {{{match}}}: how exact the ingredient match should be, the default being an exact match. Multiple match types can be specified here, separated by commas. If multiple ingredients are specified, but only one match type, then that will be used for all ingredients.
    • start means the start of the ingredient has to exactly match. E.g: "Redstone" will match "Redstone Torch", "Redstone Block", "Redstone", etc.; but not "Block of Redstone", "Some Redstone thing", etc.
    • end means the end of the ingredient has to exactly match. E.g: "Redstone" will match "Block of Redstone", "Redstone", etc.; but not "Redstone Block", "Some Redstone thing", etc.
    • any means the ingredient can be found anywhere within the name. E.g: "Redstone" will match "Block of Redstone, "Redstone", "Redstone Block", "Some Redstone thing", etc.; but not "Red stone", "Block of Reddishstone", etc.
  • {{{category}}}: look through a different category from the ingredient name, defaults to Recipe using {{{1}}}
  • {{{ignore}}}: a regex string of pages to ignore, without namespace and with spaces replaced with underscores. Pipe characters have to be replaced with ¦.
  • {{{description}}}: By default, the description is shown automatically if any of the recipes has one, but if this is set to 0, the description column will be forced to not show and if set to 1, it will be forced to show.
  • {{{continue}}}: if set, the table will not be ended, allowing additional recipes to be manually added to it. As with normal {{crafting}} usage, the last recipe must have {{{foot}}} set. This is really just a stopgap for if the template somehow misses some recipes, or if coupled with {{{ignore}}} used to manually write a recipe, for greater customisability.

{{Crafting}} usage[edit]

These args are used on the {{crafting}} templates themselves, but are read by this template.

  • {{{ignoreusage}}}: This can be added to crafting recipes which should be ignored by this template. Best for recipes which need to be ignored by multiple {{crafting usage}} templates.
  • {{{arggroups}}}: Used to manually specify which arguments are grouped (see below). Use the arg names (A1, A2, etc.) if the recipe is shaped, or numbers if the recipe is shapeless. Grouped args are separated by commas, and groups are separated by semi-colons. For example: A1,B1,A2;C1,Output would make A1, B1 and A2 a group and C1 and Output a group.

If not all frames of an animation is used, any value set in the name or ingredients arguments will be removed.

Arg groups[edit]

In order to correctly understand how the animations in a recipe should be displayed, the template needs to know which arguments are related. For example: in the bed recipe, any wood plank and any wool color can be mixed, and they will all produce the same color bed, thus none of them are related. However in the firework star recipe, the dye and the resulting firework star are related, but the extra ingredient isn't (any extra ingredient can be used with any color of firework star, but the correct dye has to be used to get the correct firework star).

For animations with different amount of frames, the template knows that they are not grouped, because the animation would get out of sync. However, if they have the same amount of frames (excluding randomised frames from "Any *" aliases), the module assumes they are a group. In cases where this isn't true, {{{arggroups}}} should be used.

Example