Difference between revisions of "Template:Recipe draw"
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.)