Template:Recipe draw: Difference between revisions
From Captain of Industry Wiki
m Changed code of checking pollution (only internal processing) |
Reworked the algorithm of determining if draw a vertical line at the left of pollution. Now recipe with both product and pollution such as Exhaust Scrubber can be displayed the same format in the game. |
||
| Line 1: | Line 1: | ||
<includeonly><!-- | <includeonly><!-- | ||
** Clear variables in case of multiple uses on one page ** | ** Clear variables in case of multiple uses on one page ** | ||
| Line 24: | Line 23: | ||
-->{{#vardefine: pollution_4 | }}<!-- | -->{{#vardefine: pollution_4 | }}<!-- | ||
** Apply style ** | |||
--><templatestyles src="Template:Recipe draw/styles.css" /><!-- | |||
--><div class="recipe-wrapper {{#if: {{{Unreleased|}}} | unreleased_border}}"><!-- | --><div class="recipe-wrapper {{#if: {{{Unreleased|}}} | unreleased_border}}"><!-- | ||
| Line 91: | Line 93: | ||
-->{{#ifeq: {{#var: provides}} | yes | <div class="block accepts-provides">PROVIDES</div> }}<!-- | -->{{#ifeq: {{#var: provides}} | yes | <div class="block accepts-provides">PROVIDES</div> }}<!-- | ||
** Draw | ** Draw outputs except pollution if {{#var: provides}} is `yes`. ** | ||
** Draw input unless {{#var: provides}} is `yes`. ** | |||
-->{{#ifeq: {{#var: provides}} | yes || <!-- | -->{{#ifeq: {{#var: provides}} | yes |<!-- | ||
-->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} | Pollution = hide }}<!-- | |||
-->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | Pollution = hide | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | Pollution = hide | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | Pollution = hide | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | Pollution = hide | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | Pollution = hide | Plus = yes }}<!-- | |||
-->|<!-- | |||
-->{{Recipe item | Name = {{{Input1Name|}}} | Quantity = {{{Input1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input1Unit|}}} }} <!-- | -->{{Recipe item | Name = {{{Input1Name|}}} | Quantity = {{{Input1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input1Unit|}}} }} <!-- | ||
-->{{Recipe item | Name = {{{Input2Name|}}} | Quantity = {{{Input2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input2Unit|}}} | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Input3Name|}}} | Quantity = {{{Input3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input3Unit|}}} | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Input4Name|}}} | Quantity = {{{Input4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input4Unit|}}} | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Input5Name|}}} | Quantity = {{{Input5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input5Unit|}}} | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Input6Name|}}} | Quantity = {{{Input6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input6Unit|}}} | Plus = yes }}<!-- | |||
-->}}<!-- | -->}}<!-- | ||
** Draw the recipe times unless it has a unit defined (KW, MW, etc). ** | ** Draw the recipe times unless it has a unit defined (KW, MW, etc). ** | ||
| Line 147: | Line 144: | ||
-->}}<!-- | -->}}<!-- | ||
** Draw outputs unless {{#var: provides}} is `yes` ** | |||
** Draw outputs except pollution unless {{#var: provides}} is `yes` ** | |||
-->{{#ifeq: {{#var: provides}} | yes ||<!-- | -->{{#ifeq: {{#var: provides}} | yes ||<!-- | ||
-->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} | Pollution = hide }}<!-- | |||
-->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | Pollution = hide | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | Pollution = hide | Plus = yes }}<!-- | |||
-->{{ | -->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | Pollution = hide | Plus = yes }}<!-- | ||
-->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | Pollution = hide | Plus = yes }}<!-- | |||
-->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | Pollution = hide | Plus = yes }}<!-- | |||
-->}}<!-- | -->}}<!-- | ||
** Draw vertical line and pollution if pollution exists ** | |||
-->{{#vardefine: all_pollutions |<!-- | |||
-->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} | Pollution = only }}<!-- | |||
-->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} }}<!-- | -->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | Pollution = only }}<!-- | ||
-->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | | -->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | Pollution = only }}<!-- | ||
-->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | | -->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | Pollution = only }}<!-- | ||
-->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | | -->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | Pollution = only }}<!-- | ||
-->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | | -->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | Pollution = only }}<!-- | ||
-->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | | -->}}<!-- | ||
-->{{#if: {{#var: all_pollutions}} |<!-- | |||
--> <!-- | |||
--><div style="display: inline-block; | |||
vertical-align: middle; | |||
min-height: 90px; | |||
border-left: 2px solid #6d6d6d; | |||
margin-right: 11px" | |||
--></div><!-- | |||
-->{{#var: all_pollutions}}<!-- | |||
-->}}<!-- | -->}}<!-- | ||
Revision as of 16:11, 3 October 2022
Template documentation (for the above template, sometimes hidden or invisible) [view] [edit] [history] [refresh]
- Purpose
- This template provides a method to rapidly illustrate crafting recipes without in-depth knowledge of wiki syntax or manual repetition/copy-pasting.
- Basic usage
- The following 2 templates are provided for making a recipe.
- Template: Recipe define: Defines a recipe. The defined recipe can be called by Template: Recipe fetch from any page in this wiki. Usually, recipes are defined on the page of a building. This template only defines recipes but does not display anything.
- Template: Recipe draw: Only displays a written recipe. The recipe written with this template cannot be called by Template: Recipe fetch.
- Both templates can be used with the format written in #Examples in this document.
- Parameters
- The template accepts the following parameters:
Building: Name of buildings (example: Blast Furnace). No need to specify on pages using Template:Infobox machine because the building is automatically detected.Input1Name,Input2Name, ...,Input6Name: Name of materials (example: Iron Ore)Input1Name = Mining(optional): Applies special format for mining.
Output1Name,Output2Name, ...Output6Name: Name of products (example: Molten Iron)Output1Name = Dumping(optional): Applies special format for dumping.
Input1Qty, ...,Input6Qty,Output1Qty, ...,Output6Qty: Amount of materials or products per 1 cycle of recipe.Time: Cycle time of recipe.Input1Unit, ...,Input6Unit,Output1Unit, ...,Output6Unit(optional): Adds unit (for Electricity and Mechanical Power)HideBldg(optional, rare): Hides building in recipe. No need to specify on pages using Template:Infobox machine (the building is automatically hidden).Unreleased = yes(optional, rare): Applies special format for unreleased recipe
- Limitations
- This template can accept up to 6 inputs, 6 outputs, and 1 time value per recipe. The output can include only 1 pollution.
Examples
- Example usage for mining
| Markup | Renders as |
|---|---|
{{Recipe
| Input1Name = Mining
| Output1Name = Copper Ore
}}
|
|
- Example usage for dumping loose materials
| Markup | Renders as |
|---|---|
{{Recipe
| Output1Name = Dumping
| Input1Name = Rock
}}
|
|
- Example usage for a machine with both inputs and outputs without pollution (most recipes)
| Markup | Renders as |
|---|---|
{{Recipe
| Building = Rotary Kiln
| Input1Name = Limestone
| Input1Qty = 12
| Input2Name = Coal
| Input2Qty = 2
| Time = 10
| Output1Name = Cement
| Output1Qty = 4
| Output2Name = Exhaust
| Output2Qty = 8
}}
|
|
- Example for buildings that "provide" materials (Groundwater Pump, Air Separator, etc.)
| Markup | Renders as |
|---|---|
{{Recipe
| Building = Groundwater Pump
| Time = 10
| Output1Name = Water
| Output1Qty = 8
}}
|
|
- Example usage for dumping/flaring/venting non-polluting liquids/gasses
| Markup | Renders as |
|---|---|
{{Recipe
| Building = Smoke Stack
| Input1Name = Oxygen
| Input1Qty = 200
| Time = 20
}}
|
|
- Example usage for recipe with pollution
| Markup | Renders as |
|---|---|
{{Recipe
| Building = Liquid Dump
| Input1Name = Waste Water
| Input1Qty = 2
| Time = 2
| Output1Name = Water Pollution
| Output1Qty = 2
}}
|
|
{{Recipe
| Building = Exhaust Scrubber
| Input1Name = Exhaust
| Input1Qty = 30
| Input2Name = Water
| Input2Qty = 4
| Time = 10
| Output1Name = Sulfur
| Output1Qty = 1
| Output2Name = Carbon Dioxide
| Output2Qty = 12
| Output3Name = Steam Lo
| Output3Qty = 4
| Output4Name = Air Pollution
| Output4Qty = 4
}}
|
|
- Example usage for Mechanical Power and Electricity recipes with units
| Markup | Renders as |
|---|---|
{{Recipe
| Building = Low-pressure Turbine
| Input1Name = Steam Lo
| Input1Qty = 4
| Time = 5
| Output1Name = Mechanical Power
| Output1Qty = 1
| Output1Unit = MW
| Output2Name = Steam Depleted
| Output2Qty = 4
}}
|
|
- Example usage for instantaneous recipes
| Markup | Renders as |
|---|---|
{{Recipe
| Building = Power Generator
| Input1Name = Mechanical Power
| Input1Qty = 500
| Input1Unit = KW
| Time = 0
| Output1Name = Electricity
| Output1Qty = 250
| Output1Unit = KW
}}
|
|
- Example usage for recipes with variable quantity
| Markup | Renders as |
|---|---|
{{Recipe
| Building = Waste Collection
| Time = 60
| Output1Name = Waste
| Output1Unit = ?
}}
|
|
- Example usage for hiding the building (automatically happens on pages using Template:Infobox machine)
| Markup | Renders as |
|---|---|
{{Recipe
| Building = Mixer
| HideBldg = yes
| Input1Name = Sand
| Input1Qty = 18
| Input2Name = Limestone
| Input2Qty = 4
| Input3Name = Salt
| Input3Qty = 4
| Time = 20
| Output1Name = Glass Mix
| Output1Qty = 14
}}
|
|
- Example usage for unreleased recipe
| Markup | Renders as |
|---|---|
{{Recipe
| Building = Crusher
| Input1Name = Gravel
| Input1Qty = 18
| Time = 20
| Output1Name = Gold
| Output1Qty = 14
| Unreleased = yes
}}
|
|
The above text is transcluded from Template:Recipe draw/doc; you can change it or view its history. (How does this work?)
If you're done making changes, please refresh the text. (Why?)
You can experiment in this template's sandbox (edit | diff) and testcases (create) pages.
Please add categories and interwikis to Template:Recipe draw/doc. (View all subpages of this page.)
If you're done making changes, please refresh the text. (Why?)
You can experiment in this template's sandbox (edit | diff) and testcases (create) pages.
Please add categories and interwikis to Template:Recipe draw/doc. (View all subpages of this page.)