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>&#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. |
| |} | | |} |
| | | |