Difference between revisions of "Template:Metadata id"

From wiki.vg
Jump to navigation Jump to search
(Something strange is afoot, possibly with the {{{1}}} in {{#switch: {{{1|unchanged}}} ... }}, but I'm not sure what it is exactly)
(Does this change anything?)
Line 3: Line 3:
 
     {{#vardefine:cur_meta|{{#var:meta_{{#var:meta_current_entity}}}}}}
 
     {{#vardefine:cur_meta|{{#var:meta_{{#var:meta_current_entity}}}}}}
 
     {{#vardefine:pre_meta|{{#var:meta_pre_{{#var:meta_current_entity}}}}}}
 
     {{#vardefine:pre_meta|{{#var:meta_pre_{{#var:meta_current_entity}}}}}}
     {{#switch: {{{1|unchanged}}}
+
     {{#switch: {{{1}}}
 
     | added =
 
     | added =
 
         {{change||{{#var:pre_meta}}}}
 
         {{change||{{#var:pre_meta}}}}
Line 10: Line 10:
 
         {{change|{{#var:cur_meta}}|}}
 
         {{change|{{#var:cur_meta}}|}}
 
         {{#vardefine:meta_{{#var:meta_current_entity}}|{{#expr:{{#var:cur_meta}}+1}}}}
 
         {{#vardefine:meta_{{#var:meta_current_entity}}|{{#expr:{{#var:cur_meta}}+1}}}}
     | #default =
+
     | unchanged =
 
         {{#ifeq: {{#var:cur_meta}}|{{#var:pre_meta}} | {{#var:cur_meta}} | {{change|{{#var:cur_meta}}|{{#var:pre_meta}}}} }}
 
         {{#ifeq: {{#var:cur_meta}}|{{#var:pre_meta}} | {{#var:cur_meta}} | {{change|{{#var:cur_meta}}|{{#var:pre_meta}}}} }}
 
         {{#vardefine:meta_{{#var:meta_current_entity}}|{{#expr:{{#var:cur_meta}}+1}}}}
 
         {{#vardefine:meta_{{#var:meta_current_entity}}|{{#expr:{{#var:cur_meta}}+1}}}}
 
         {{#vardefine:meta_pre_{{#var:meta_current_entity}}|{{#expr:{{#var:pre_meta}}+1}}}}
 
         {{#vardefine:meta_pre_{{#var:meta_current_entity}}|{{#expr:{{#var:pre_meta}}+1}}}}
 +
    | #default =
 +
        <strong class="error">Invalid parameter to [[Template:Metadata id]] {{{1}}}</strong>
 
     }}
 
     }}
 
| <!-- Full release mode -->
 
| <!-- Full release mode -->

Revision as of 02:55, 3 May 2019

Used to generate incremental entity metadata IDs.

cur_meta and pre_meta are local variables, to avoid redundancy. meta_current_entity is defined elsewhere, and meta_entity and meta_pre_entity are accessed via it. Those two values are incremented after this template.

Behavior changes if a meta_prerelease variable is defined: the template supports an optional parameter which may be set to unchanged (default), added, or removed, which can be used to mark metadata entries that were added or removed in the prerelease.