Changes

update to match latest usage
Line 50: Line 50:  
   |unofficial url    = https://community.playstarbound.com/attachments/201345000
 
   |unofficial url    = https://community.playstarbound.com/attachments/201345000
 
   |unofficial version = 1.18.2-unofficial.1-example
 
   |unofficial version = 1.18.2-unofficial.1-example
 +
  |pull request      = https://github.com/Pathoschild/Example/pull/1
 
</pre>
 
</pre>
 
{{#invoke:SMAPI compatibility|header}}
 
{{#invoke:SMAPI compatibility|header}}
Line 62: Line 63:  
   |unofficial url    = https://community.playstarbound.com/attachments/201345000
 
   |unofficial url    = https://community.playstarbound.com/attachments/201345000
 
   |unofficial version = 1.18.2-unofficial.1-example
 
   |unofficial version = 1.18.2-unofficial.1-example
 +
  |pull request      = https://github.com/Pathoschild/Example/pull/1
 
}}
 
}}
 
{{#invoke:SMAPI compatibility|footer}}
 
{{#invoke:SMAPI compatibility|footer}}
    
==Usage==
 
==Usage==
 +
===Limitations===
 +
The name, author, and id arguments are comma-separated. If the actual value contains a comma, use <code>&amp;#44;</code> instead.
 +
 
===Main fields (shown above)===
 
===Main fields (shown above)===
 
{| class="wikitable"
 
{| class="wikitable"
Line 73: Line 78:  
|-
 
|-
 
| <code>name</code>
 
| <code>name</code>
| The normalised display name for the mod. Combine with <code>name2</code> (see below) to add alternate names.
+
| The normalised display name for the mod. Delimit alternate names with commas.
 
|-
 
|-
 
| <code>author</code>
 
| <code>author</code>
| The name of the author, as shown on Nexus or in its <tt>manifest.json</tt> file. Combine with <code>author2</code> (see below) to add alternate names.
+
| The name of the author, as shown on Nexus or in its <tt>manifest.json</tt> file. Delimit alternate names with commas.
 
|-
 
|-
 
| <code>id</code>
 
| <code>id</code>
| The latest unique mod ID, as listed in its <tt>manifest.json</tt> file. In rare cases where there are parallel current releases with different IDs, this can be comma-delimited. For very old mods with no ID, use <tt>none</tt> to disable validation checks.
+
| The latest unique mod ID, as listed in its <tt>manifest.json</tt> file. Delimit alternate/older IDs with commas (ideally in latest to oldest order). For very old mods with no ID, use <tt>none</tt> to disable validation checks.
 
|-
 
|-
 
| <code>nexus id</code>
 
| <code>nexus id</code>
Line 109: Line 114:  
| The unofficial update's version number, if any.
 
| The unofficial update's version number, if any.
 
|-
 
|-
| <code>old ids</code>
+
| <code>pull request</code>
| IDs which identify older versions of this mod.
+
| The URL of the pull request which submits changes for an unofficial update to the author, if any.  
 
|-
 
|-
 
| <code>cf id</code>
 
| <code>cf id</code>
| The mod's ID in the Chucklefish mod repository.
+
| The mod's ID in the [https://community.playstarbound.com/resources/categories/stardew-valley.22/ Chucklefish mod repository].
 +
|-
 +
| <code>curseforge id</code>
 +
| The mod's project ID in the [https://www.curseforge.com/stardewvalley CurseForge mod repository]. This is the value shown on the mod page next to "Project ID".
 +
|-
 +
| <code>curseforge key</code>
 +
| The mod's key in the [https://www.curseforge.com/stardewvalley CurseForge mod repository]. This is the mod key shown in the mod page's URL.
 +
|-
 +
| <code>moddrop id</code>
 +
| The mod's ID in the [https://www.moddrop.com/stardew-valley/ ModDrop mod repository].
 
|-
 
|-
 
| <code>url</code>
 
| <code>url</code>
| The arbitrary mod URL, if not on Nexus or Chucklefish. Avoid if possible, since this makes crossreferencing more difficult.
+
| The arbitrary mod URL, if not on a known mod site. Avoid if possible, since this makes crossreferencing more difficult.
 
|-
 
|-
 
| <code>source</code>
 
| <code>source</code>
 
| An arbitrary source code URL, if not on GitHub. Avoid if possible, since this makes crossreferencing more difficult.
 
| An arbitrary source code URL, if not on GitHub. Avoid if possible, since this makes crossreferencing more difficult.
|-
  −
| <code>name2</code><br /><code>author2</code>
  −
| Adds alternate mod and author names.
  −
|-
  −
| <code>hide-url</code>
  −
| Use this instead of (<code>url</code>) to move it into a superscript link. Mainly useful for broken mods with a workaround, so players don't automatically click through to the old mod.
   
|-
 
|-
 
| <code>links</code>
 
| <code>links</code>
Line 132: Line 140:  
| <code>warnings</code>
 
| <code>warnings</code>
 
| Text explaining additional compatibility warnings about the mod (e.g. not compatible with Linux/Mac).
 
| Text explaining additional compatibility warnings about the mod (e.g. not compatible with Linux/Mac).
 +
|-
 +
| <code>content pack for</code>
 +
| The name of the mod which loads this content pack.
 +
|-
 +
| <code>dev note</code>
 +
| Special notes intended for developers who maintain unofficial updates or submit pull requests.
 
|}
 
|}
   Line 156: Line 170:  
| <code>beta unofficial version</code>
 
| <code>beta unofficial version</code>
 
| The unofficial update's version number, if any.
 
| The unofficial update's version number, if any.
 +
|}
 +
 +
===Override fields===
 +
These fields override information provided by the author in the <tt>manifest.json</tt> or mod page, so they should only be used as a last resort.
 +
 +
{| class="wikitable"
 +
|-
 +
! field
 +
! purpose
 +
|-
 +
| <code>change update keys</code>
 +
| Overrides the [[Modding:Modder Guide/APIs/Update checks|update keys]] from the <tt>manifest.json</tt> or other compatibility list fields. Remove a key with <code>-</code>, add a key with an optional <code>+</code>, and separate keys with commas. For example:
 +
<pre>
 +
|override update keys = -Nexus:991, +Nexus:991@CFA
 +
</pre>
 +
|-
 +
| <code>map remote version</code>
 +
| When SMAPI performs an update check for the mod, this field overrides the version returned by the server. SMAPI will match the original version using [https://semver.org/ semantic rules] if it's parseable (e.g. <code>1.0</code> and <code>1.0.0</code> are equivalent), else it'll fallback to case-insensitive string comparison (e.g. <code>1.01</code> and <code>1.01.0</code> are ''not'' equivalent). If an invalid format is specified or the new version can't be parsed, the mapping will be ignored.
 +
 +
'''This is a specialised field; it's better to correct the mod page if possible.'''
 +
 +
Mappings are specified with an arrow, and multiple mappings can be separated by a semi-colon:
 +
<pre>
 +
|map remote versions = 0.01 → 0.0.1; 0.0.1-beta → 0.0.1
 +
</pre>
 +
|-
 +
| <code>map local version</code>
 +
| Equivalent to <code>map remote version</code>, but for the manifest version.
 
|}
 
|}
   Line 184: Line 226:  
| <code>obsolete</code>
 
| <code>obsolete</code>
 
| The mod is no longer needed and should be removed.
 
| The mod is no longer needed and should be removed.
 +
|-
 +
| <code>unknown</code>
 +
| The mod's compatibility status hasn't been tested. This should only be used as a placeholder (e.g. when adding a new beta), it should never be used long since that defeats the purpose of the compatibility list.
 
|}
 
|}
  
translators
8,437

edits