Template:Exclusive
This template displays a banner denoting exclusivity of the content following it (usually an entire article) to one or more versions of Terraria.
Background and concept
Historically, platform exclusivity has been handled statically on the Terraria Wiki. For instance, when the Crimson was first introduced, a {{pc only}} template was put onto its article, since it was exclusive to the Desktop version at that time. When the biome was added to the Console version as well, that template had to be replaced with a {{pc-console only}} template. Similarly, a {{pc icon}} template was used wherever the Crimson was mentioned, e.g. on the article about Hardmode, and had to be replaced when it became available on Console. While this might have been feasible with a small number of articles, the effort to keep the exclusivity information up-to-date grew as the game was updated and ported to other platforms. Therefore, a dynamic system has been put into place that updates all mentions of platform exclusivity automatically.
This dynamic system is based on the idea that the exclusivity information about each entity is stored on its corresponding wiki page. "Entity" is used as a very broad term here, and includes – this is crucial – patch numbers. Once every patch article stores information about the platforms that it was released on, this information can be referenced on the articles that deal with the patch's contents. For example, the Crimson was first released in 1.2, so it is always only available on the platforms on which 1.2 is available. At first, the exclusivity information on the 1.2 article would have read "desktop", and because of the reference, the exclusivity information on the Crimson article would have read "desktop" as well. When 1.2 was made available on Console, its exclusivity information would have been updated to "desktop/console". Thanks to the dynamic system, the exclusivity information about the Crimson would have been updated automatically, because it references 1.2 and 1.2's exclusivity information would have been modified. The line of references can be continued and nested: The Brain of Cthulhu, for instance, can reference the Crimson, the Creeper can reference the Brain of Cthulhu, etc. All of them ultimately refer to 1.2, which is the only page where the exclusivity information needs to be updated.
Usage
{{ exclusive | <entity name> | invert = y/yes/1 | not = <entity name> | section = y/yes/1 | nocat = y/yes/1 | nobanner = y/yes/1 | width = <banner width> | css/style = <custom CSS> | <version parameters> = y/yes/1/n/no/0 | version = <versions> }}
- First unnamed parameter
Name of the entity (wiki page name) to reference the exclusivity information from. For example, if set to
, then the banner will always display the versions that the Moon Lord is available on. This is often set to a patch number, since there is a clear introduction patch for most entities, but it is sometimes more sensible to set it to another page name, e.g. for items of a group.
Moon Lord
Appending a section to the page name is supported, the exclusivity information for the page name will still be gathered (see examples below).
- invert
Inverts the exclusivity, i.e. displays the opposite versions. For instance, the opposite of the Moon Lord's exclusivity, which is currently
, would be desktop/console/mobile
. This is useful to refer to versions that do not feature a certain entity, the Moon Lord in this case.
old-gen/3ds
Important note: this disables the Japanese Console version sensor, i.e. a Japanese Console version will never be displayed if
is used. This is because exclusivity to this version is separate – all entities that are exclusive to the Japanese Console version are truly exclusive to that version only.
$invert
- not
Name of a page whose exclusivity information is to be subtracted from the main exclusivity information from the first unnamed parameter. This is useful to refer to versions where the first entity is available, but the second is not. For instance, it could be used when mentioning a feature that was removed from the Slimy Saddle (which was introduced in 1.2.4) in 1.3.0.1. The Slimy Saddle's general exclusivity information is
, but only desktop/console/old-gen/mobile
remains when subtracting 1.3.0.1's exclusivity information (which is old-gen
) from it.
desktop/console/mobile
Note that this is evaluated after
, i.e. the exclusivity information of the main page is inverted first, and then the exclusivity information of the page from this parameter is subtracted from that.
$invert
- section
Changes the message text from "This information" to "This section's information", automatically activates nocat=y
.
- nocat
By default, the template adds the appropriate version content categories if the page is in mainspace. This parameter suppresses that.
- nobanner
Prevents displaying the message banner box, thus only categorizes the page. This is usually used on redirect pages.
- width
Sets the CSS width of the message banner box.
- css or style
Custom CSS for the message banner box.
- Version parameters
Override versions from the first unnamed parameter (after
and $invert
are evaluated), or set versions manually if no first unnamed parameter is provided. This is necessary where no reference to another page name is possible, e.g. on articles about patches themselves. Values for all of the following parameters can be $not
, y
, y
, yes
, 1
, n
, or no
. 0
(see below) can be used alternatively.
$version
dsk desktop pc
| |
cns console | |
old oldgen old-gen old-gen console
| |
mbl mobile
| |
3DS 3ds
| |
jas japan japanese j-console japanese-console
|
- version
Alternative method to manually override certain versions. The expected format is <platform>-<platform>-<platform>
, e.g.
. Can also be set to desktop-console
to set all versions. The manual parameters above take precedence over this parameter.
all
Notes
- If a page name (first unnamed parameter) is specified and the resulting exclusivity information is all platforms (e.g. due to manual overriding), an
{{all versions}}
is automatically put on the page. - The exclusivity information is stored to the Exclusive Cargo table, which is used as a base for querying the information. This storage only happens on this main wiki (not on language wikis), only if the page is in mainspace, and only if neither
nor$section
are set to a positive value.$nocat
Examples
Manual versions
Code | Result |
---|---|
{{exclusive|desktop=yes}} |
|
{{exclusive|mobile=yes|3ds=yes}} |
|
{{exclusive|japan=yes|mobile=yes|3ds=yes}} |
|
{{exclusive|desktop=yes|3ds=yes|console=yes}} |
|
{{exclusive|desktop=yes|3ds=yes|console=yes|section=yes}} |
Versions based on another page
Code | Result |
---|---|
{{exclusive|1.3.0.1}} |
|
{{exclusive|1.3.0.1#Features and Mechanics}} |
|
{{exclusive|1.3.0.1|invert=y}} |
|
{{exclusive|1.2.4.1|not=1.3.0.1}} |
|
{{exclusive|1.3.0.1|3ds=y}} |
|
{{exclusive|1.3.0.1|3ds=y|dsk=n}} |
|
{{exclusive|1.3.0.1|invert=y|dsk=y}} |