Line 10: |
Line 10: |
| </noinclude><!-- | | </noinclude><!-- |
| | | |
− | Define a few expensive variables here. | + | Define a few variables here: |
| + | {{#arrayindex:has_source|0}} = set if a GitHub project name or custom source URL is set, else blank |
| + | {{#arrayindex:status|0}} = compatibility status for the stable SMAPI/SDV release |
| + | {{#arrayindex:beta_status|0}} = compatibility status for the beta SMAPI/SDV release |
| | | |
− | {{#arrayindex:sourceUrl|0}} = GitHub URL, else custom source URL
| + | -->{{#arraydefine:has_source|{{#if:{{{github|}}}{{{source|}}}|1}}}}<!-- |
− | {{#arrayindex:status|0}} = main status
| |
− | {{#arrayindex:status|1}} = beta status
| |
− | {{#arrayindex:statuscompare|0}} = whether the compatibility info is equivalent between main and beta ('same' or 'different'). If both statuses are 'unofficial', they match if their unofficial URLs do; else they match if their statuses do.
| |
| | | |
− | -->{{#arraydefine:sourceUrl|{{#if:{{{github|}}}|{{{github}}}|{{{source|}}}}}}}<!-- | + | -->{{#arraydefine:status|{{#if:{{{status|}}} |
− | -->{{#arraydefine:status|<!--
| + | |{{{status}}} |
− | 0-->{{Modding:Mod compatibility/entry/status|source={{#arrayindex:sourceUrl|0}}|unofficial={{{unofficial url|}}}|broke in={{{broke in|}}}|status={{{status|}}}}},<!-- | + | |{{#if:{{{unofficial url|}}} |
− | 1-->{{Modding:Mod compatibility/entry/status|source={{#arrayindex:sourceUrl|0}}|unofficial={{{unofficial url|}}}|broke in={{{broke in|}}}|status={{{status|}}}|beta unofficial={{{beta unofficial url|}}}|beta broke in={{{beta broke in|}}}|beta status={{{beta status|}}}}} | + | |unofficial |
− | }}{{#arraydefine:statuscompare|{{#switch:{{#arrayindex:status|0}},{{#arrayindex:status|1}}
| + | |{{#if:{{{broke in|}}} |
− | |unofficial,unofficial = {{#ifeq:{{{unofficial url|}}}|{{#if:{{{beta unofficial url|}}}|{{{beta unofficial url}}}|{{{unofficial url|}}}}}|same|different}}
| + | |broken |
− | |#default = {{#ifeq:{{#arrayindex:status|0}}|{{#arrayindex:status|1}}|same|different}} | + | |ok |
| + | }} |
| + | }} |
| }}}}<!-- | | }}}}<!-- |
| | | |
Line 41: |
Line 43: |
| -->data-name="{{#arrayprint:names|,|@@@|@@@}}" <!-- | | -->data-name="{{#arrayprint:names|,|@@@|@@@}}" <!-- |
| -->data-author="{{#arrayprint:authors|,|@@@|@@@}}" <!-- | | -->data-author="{{#arrayprint:authors|,|@@@|@@@}}" <!-- |
| + | -->{{#if:{{{chucklefish id|}}}|data-cf-id="{{{chucklefish id}}}"}} <!-- |
| + | -->{{#if:{{{curseforge id|}}}|data-curseforge-id="{{{curseforge id}}}"}} <!-- |
| + | -->{{#if:{{{curseforge key|}}}|data-curseforge-key="{{{curseforge key}}}"}} <!-- |
| -->{{#if:{{{nexus id|}}}|data-nexus-id="{{{nexus id}}}"}} <!-- | | -->{{#if:{{{nexus id|}}}|data-nexus-id="{{{nexus id}}}"}} <!-- |
| -->{{#if:{{{moddrop id|}}}|data-moddrop-id="{{{moddrop id}}}"}} <!-- | | -->{{#if:{{{moddrop id|}}}|data-moddrop-id="{{{moddrop id}}}"}} <!-- |
− | -->{{#if:{{{cf id|}}}|data-cf-id="{{{cf id}}}"}} <!--
| |
| -->{{#if:{{{github|}}}|data-github="{{{github}}}"}} <!-- | | -->{{#if:{{{github|}}}|data-github="{{{github}}}"}} <!-- |
| -->{{#if:{{{source|}}}|data-custom-source="{{#tag:nowiki|{{{source}}}}}"}} <!-- | | -->{{#if:{{{source|}}}|data-custom-source="{{#tag:nowiki|{{{source}}}}}"}} <!-- |
− | -->data-url="{{#tag:nowiki|{{#if:{{{nexus id|}}}|{{nexus mod|{{{nexus id}}}}}|{{#if:{{{cf id|}}}|https://community.playstarbound.com/resources/{{urlencode:{{{cf id}}}}}|{{#if:{{{moddrop id|}}}|https://www.moddrop.com/sdv/mod/{{urlencode:{{{moddrop id}}}}}|{{{url|}}}}}}}}}}}" <!-- | + | -->data-url="{{#tag:nowiki|{{#if:{{{nexus id|}}}|{{nexus mod|{{{nexus id}}}}}|{{#if:{{{moddrop id|}}}|{{ModDrop mod|{{{moddrop id}}}}}|{{#if:{{{curseforge key|}}}|https://www.curseforge.com/stardewvalley/mods/{{urlencode:{{{curseforge key}}}}}|{{#if:{{{chucklefish id|}}}|https://community.playstarbound.com/resources/{{urlencode:{{{chucklefish id}}}}}|{{{url|}}}}}}}}}}}}}" <!-- |
| -->data-status="{{#arrayindex:status|0}}" <!-- | | -->data-status="{{#arrayindex:status|0}}" <!-- |
| -->{{#if:{{{broke in|}}}|data-broke-in="{{{broke in}}}"}} <!-- | | -->{{#if:{{{broke in|}}}|data-broke-in="{{{broke in}}}"}} <!-- |
| -->{{#if:{{{unofficial version|}}}|data-unofficial-version="{{{unofficial version}}}"}} <!-- | | -->{{#if:{{{unofficial version|}}}|data-unofficial-version="{{{unofficial version}}}"}} <!-- |
| -->{{#if:{{{unofficial url|}}}|data-unofficial-url="{{#tag:nowiki|{{{unofficial url}}}}}"}} <!-- | | -->{{#if:{{{unofficial url|}}}|data-unofficial-url="{{#tag:nowiki|{{{unofficial url}}}}}"}} <!-- |
− | -->{{#ifeq:{{#arrayindex:statuscompare|0}}|different|<!--
| + | -->{{#if:{{{pull request|}}}|data-pr="{{#tag:nowiki|{{{pull request}}}}}"}} <!-- |
− | -->data-beta-status="{{#arrayindex:status|1}}" <!--
| |
− | -->{{#if:{{{beta broke in|}}}|data-beta-broke-in="{{{beta broke in}}}"}} <!--
| |
− | -->{{#if:{{{beta unofficial version|}}}|data-beta-unofficial-version="{{{beta unofficial version}}}"}} <!--
| |
− | -->{{#if:{{{beta unofficial url|}}}|data-beta-unofficial-url="{{#tag:nowiki|{{{beta unofficial url}}}}}"}}<!--
| |
− | -->}} <!--
| |
| -->{{#ifexpr:{{#arraysize:warnings}} > 0|data-warnings="{{#arrayprint:warnings|, |@@@|@@@}}"}} <!-- | | -->{{#ifexpr:{{#arraysize:warnings}} > 0|data-warnings="{{#arrayprint:warnings|, |@@@|@@@}}"}} <!-- |
| -->{{#if:{{{content pack for|}}}|data-content-pack-for="{{{content pack for}}}"}} <!-- | | -->{{#if:{{{content pack for|}}}|data-content-pack-for="{{{content pack for}}}"}} <!-- |
− | -->{{#if:{{{dev note|}}}|data-dev-note="{{{dev note}}}"}} | + | -->{{#if:{{{dev note|}}}|data-dev-note="{{{dev note}}}"}} <!-- |
− | | {{#if:{{{nexus id|}}}|[{{nexus mod|{{{nexus id}}}}} {{#arrayindex:names|0}}]|{{#if:{{{cf id|}}}|[https://community.playstarbound.com/resources/{{urlencode:{{{cf id}}}}} {{#arrayindex:names|0}}]|{{#if:{{{moddrop id|}}}|[https://www.moddrop.com/sdv/mod/{{urlencode:{{{moddrop id}}}}} {{#arrayindex:names|0}}]|{{#if:{{{url|}}}|[{{{url}}} {{#arrayindex:names|0}}]|{{#arrayindex:names|0}}}}}}}}}}{{#ifexpr:{{#arraysize:altNames}} > 0|<br /><small style="font-size:0.75em;">(aka {{#arrayprint:altNames|, |@@@|@@@}})</small>}} | + | -->{{#if:{{{map local versions|}}}|data-map-local-versions="{{{map local versions}}}"}} <!-- |
| + | -->{{#if:{{{map remote versions|}}}|data-map-remote-versions="{{{map remote versions}}}"}}<!-- |
| + | -->{{#if:{{{change update keys|}}}|data-change-update-keys="{{{change update keys}}}"}} |
| + | | {{#if:{{{nexus id|}}}|[{{nexus mod|{{{nexus id}}}}} {{#arrayindex:names|0}}]|{{#if:{{{moddrop id|}}}|{{ModDrop mod|{{{moddrop id}}}|{{#arrayindex:names|0}}}}|{{#if:{{{curseforge key|}}}|[https://www.curseforge.com/stardewvalley/mods/{{urlencode:{{{curseforge key}}}}} {{#arrayindex:names|0}}]|{{#if:{{{chucklefish id|}}}|[https://community.playstarbound.com/resources/{{urlencode:{{{chucklefish id}}}}} {{#arrayindex:names|0}}]|{{#if:{{{url|}}}|[{{{url}}} {{#arrayindex:names|0}}]|{{#arrayindex:names|0}}}}}}}}}}}}{{#ifexpr:{{#arraysize:altNames}} > 0|<br /><small style="font-size:0.75em;">(aka {{#arrayprint:altNames|, |@@@|@@@}})</small>}} |
| | {{#arrayindex:authors|0}}{{#ifexpr:{{#arraysize:altAuthors}} > 0|<br /><small style="font-size:0.75em;">(aka {{#arrayprint:altAuthors|, |@@@|@@@}})</small>}} | | | {{#arrayindex:authors|0}}{{#ifexpr:{{#arraysize:altAuthors}} > 0|<br /><small style="font-size:0.75em;">(aka {{#arrayprint:altAuthors|, |@@@|@@@}})</small>}} |
| |<!-- | | |<!-- |
| | | |
− | stable label (if different)-->{{#ifeq:{{#arrayindex:statuscompare|0}}|different|'''{{version|stable|link=0}}:''' }}<!--
| + | summary--><span class="mod-summary">{{#switch:{{#arrayindex:status|0}} |
− | | + | |ok = ✓ {{#if:{{{summary|}}}|{{{summary}}}|use latest version.}} |
− | summary--><span class="mod-summary">{{Modding:Mod compatibility/entry/summary
| + | |optional = ✓ {{#if:{{{summary|}}}|{{{summary}}}|use optional download.}} |
− | |status = {{#arrayindex:status|0}}
| + | |unofficial = ⚠ broken{{#if:{{{unofficial url|}}}|, use [{{{unofficial url}}} unofficial update]{{#if:{{{unofficial version|}}}| (<small>{{{unofficial version}}}</small>)}}|{{{unofficial url}}}}}. |
− | |summary = {{{summary|}}} | + | |workaround = ⚠ broken, {{{summary}}} |
− | |unofficial url = {{{unofficial url|}}}
| + | |broken = ↻ broken, {{#if:{{{summary|}}}|{{{summary}}}|{{#if:{{#arrayindex:has_source|0}}|not updated yet.|not open-source.}}}} |
− | |unofficial version = {{{unofficial version|}}}
| + | |obsolete = ✖ {{#if:{{{summary|}}}|{{{summary}}}|remove this mod (obsolete).}} |
− | |source = {{#arrayindex:sourceUrl|0}}
| + | |abandoned = ✖ {{#if:{{{summary|}}}|{{{summary}}}|remove this mod (no longer maintained).}} |
| + | |unknown = ☐ {{#if:{{{summary|}}}|{{{summary}}}|not tested yet.}} |
| }}</span>{{#ifeq:{{#arrayindex:status|0}}|optional|<ref name="optional-update" />}}<!-- | | }}</span>{{#ifeq:{{#arrayindex:status|0}}|optional|<ref name="optional-update" />}}<!-- |
− |
| |
− | beta summary (if different)-->{{#ifeq:{{#arrayindex:statuscompare|0}}|different|<br />'''1.4 (upcoming)<!--{{version|beta|link=0}}-beta-->:''' <span class="mod-beta-summary">{{Modding:Mod compatibility/entry/summary
| |
− | |status = {{#arrayindex:status|1}}
| |
− | |summary = {{{beta summary|}}}
| |
− | |unofficial url = {{{beta unofficial url|}}}
| |
− | |unofficial version = {{{beta unofficial version|}}}
| |
− | |source = {{#arrayindex:sourceUrl|0}}
| |
− | }}</span>{{#ifeq:{{#arrayindex:status|1}}|optional|<ref name="optional-update" />}}}}<!--
| |
| | | |
| warnings-->{{#if:{{{warnings|}}}|<br />⚠ {{#arrayprint:warnings|<br />⚠ }}}} | | warnings-->{{#if:{{{warnings|}}}|<br />⚠ {{#arrayprint:warnings|<br />⚠ }}}} |
− | | <small>{{#if:{{{beta broke in|}}}|{{{beta broke in}}}|{{{broke in|}}}}}</small> | + | | <small>{{{broke in|}}}</small> |
| | {{#if:{{{github|}}}|[https://github.com/{{{github}}} source]|{{#if:{{{source|}}}|[{{{source}}} source]|<span style="color: red; font-size: 0.85em; opacity: 0.5;">closed source</span>}}}} | | | {{#if:{{{github|}}}|[https://github.com/{{{github}}} source]|{{#if:{{{source|}}}|[{{{source}}} source]|<span style="color: red; font-size: 0.85em; opacity: 0.5;">closed source</span>}}}} |
| | class="no-wrap"|<small><!-- | | | class="no-wrap"|<small><!-- |
| | | |
| anchor-->[[#{{#arrayindex:names|0}}|#]] <!-- | | anchor-->[[#{{#arrayindex:names|0}}|#]] <!-- |
− | metadata links-->{{#if:{{{link labels|}}}|{{#arraydefine:labelsArray|{{{link labels}}}}}}}{{#if:{{{links|}}}| {{#arraydefine:linkArray|{{{links}}}}}{{#arrayprint:linkArray| |@@@|[@@@ {{#if:{{#arrayindex:labelsArray|{{#arraysearch:linkArray|@@@}}}}|{{#arrayindex:labelsArray|{{#arraysearch:linkArray|@@@}}}}|{{#expr:{{#arraysearch:linkArray|@@@}} + 1}}}}]}}}} <!--
| + | pull request-->{{#if:{{{pull request|}}}| [{{{pull request}}} PR]}} <!-- |
− | developer note-->{{#if:{{{dev note|}}}|<abbr title="{{{dev note|}}}">[dev note]</abbr>}}</small><noinclude>
| + | developer note-->{{#if:{{{dev note|}}}|<abbr title="{{{dev note|}}}">[dev note]</abbr>}}<!-- |
| + | |
| + | validation-->{{#ifeq:{{#if:{{{curseforge id|}}}|1|0}}|{{#if:{{{curseforge key|}}}|1|0}}||<abbr title="The mod data is invalid: can't specify CurseForge key or ID without the other.">[⚠ invalid data]</abbr>}}</small><noinclude> |
| |} | | |} |
| | | |
Line 130: |
Line 127: |
| |github = Pathoschild/StardewMods | | |github = Pathoschild/StardewMods |
| |summary = | | |summary = |
| + | |
| |broke in = Stardew Valley 1.2 | | |broke in = Stardew Valley 1.2 |
− | |links = https://github.com/Pathoschild/SMAPI/issues
| |
− | |link labels = PR
| |
| }} | | }} |
| </pre> | | </pre> |
Line 150: |
Line 146: |
| |github = Pathoschild/StardewMods | | |github = Pathoschild/StardewMods |
| |summary = | | |summary = |
| + | |
| |broke in = Stardew Valley 1.2 | | |broke in = Stardew Valley 1.2 |
− | |links = https://github.com/Pathoschild/SMAPI/issues
| |
− | |link labels = PR
| |
| }} | | }} |
| |} | | |} |
| | | |
| ===Unofficial update=== | | ===Unofficial update=== |
− | For an unofficial update, use the broken-mod template and add these under the other fields: | + | For an unofficial update, use the broken-mod template and add these under <samp>broke in</samp>: |
| <pre> | | <pre> |
− | |unofficial url = https://community.playstarbound.com/attachments/201345000 | + | |unofficial url = https://community.playstarbound.com/threads/updating-mods-for-stardew-valley-1-3.142524/page-62#post-3329160 |
| |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> |
| {| class="wikitable plainlinks" | | {| class="wikitable plainlinks" |
Line 177: |
Line 173: |
| |github = Pathoschild/StardewMods | | |github = Pathoschild/StardewMods |
| |summary = | | |summary = |
− | |broke in = Stardew Valley 1.2
| |
− | |unofficial url = https://community.playstarbound.com/attachments/201345000
| |
− | |unofficial version = 1.18.2-unofficial.1-example
| |
− | }}
| |
− | |}
| |
| | | |
− | ===Different beta status===
| + | |broke in = Stardew Valley 1.2 |
− | <pre>
| + | |unofficial url = https://community.playstarbound.com/threads/updating-mods-for-stardew-valley-1-3.142524/page-62#post-3329160 |
− | {{Modding:Mod compatibility/entry
| |
− | |name = Lookup Anything
| |
− | |author = Pathoschild
| |
− | |id = Pathoschild.LookupAnything
| |
− | |nexus id = 541
| |
− | |github = Pathoschild/StardewMods
| |
− | |summary =
| |
− | |broke in = Stardew Valley 1.2 | |
− | |unofficial url = https://community.playstarbound.com/attachments/201345000 | |
− | |unofficial version = 1.18.2-unofficial.1-example
| |
− | | |
− | |beta broke in = Stardew Valley 1.3
| |
− | }}
| |
− | </pre>
| |
− | | |
− | {| class="wikitable plainlinks"
| |
− | |-
| |
− | ! mod name
| |
− | ! author
| |
− | ! compatibility
| |
− | ! broke in
| |
− | ! source
| |
− | !
| |
− | {{Modding:Mod compatibility/entry
| |
− | |name = Lookup Anything
| |
− | |author = Pathoschild
| |
− | |id = Pathoschild.LookupAnything
| |
− | |nexus id = 541
| |
− | |github = Pathoschild/StardewMods
| |
− | |summary =
| |
− | |broke in = Stardew Valley 1.2
| |
− | |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 |
− | |beta broke in = Stardew Valley 1.3 | |
| }} | | }} |
| |} | | |} |
Line 238: |
Line 196: |
| |- | | |- |
| | <code>author</code> | | | <code>author</code> |
− | | The name of the author, as shown on Nexus or in its <tt>manifest.json</tt> file. Delimit alternate names with commas. | + | | The name of the author, as shown on Nexus or in its <samp>manifest.json</samp> file. Delimit alternate names with commas. |
| |- | | |- |
| | <code>id</code> | | | <code>id</code> |
− | | The 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. | + | | The unique mod ID, as listed in its <samp>manifest.json</samp> file. Delimit alternate/older IDs with commas (ideally in latest to oldest order). For very old mods with no ID, use <samp>none</samp> to disable validation checks. |
| |- | | |- |
| | <code>nexus id</code> | | | <code>nexus id</code> |
Line 247: |
Line 205: |
| |- | | |- |
| | <code>github</code> | | | <code>github</code> |
− | | The mod's GitHub repository in the form <tt>owner/repo</tt>. | + | | The mod's GitHub repository in the form <samp>owner/repo</samp>. |
| |- | | |- |
| | <code>summary</code> | | | <code>summary</code> |
Line 271: |
Line 229: |
| | The unofficial update's version number, if any. | | | The unofficial update's version number, if any. |
| |- | | |- |
− | | <code>cf id</code> | + | | <code>chucklefish id</code> |
| | The mod's ID in the [https://community.playstarbound.com/resources/categories/stardew-valley.22/ 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> | | | <code>moddrop id</code> |
− | | The mod's ID in the [https://www.moddrop.com/sdv/ ModDrop mod repository]. | + | | 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>links</code>
| |
− | | A comma-delimited list of URLs to add as links in the metadata column. Mainly useful for linking to pull requests.
| |
− | |-
| |
− | | <code>link labels</code>
| |
− | | A comma-delimited list of link labels for the <code>links</code> URLs. If omitted, the links will be numbered instead.
| |
| |- | | |- |
| | <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> | | | <code>content pack for</code> |
Line 299: |
Line 257: |
| |} | | |} |
| | | |
− | ===Beta fields=== | + | ===Override fields=== |
− | When there's a Stardew Valley beta, some mods may have different compatibility statuses for stable vs beta. You can specify these optional fields to specify a different beta status.
| + | These fields override information provided by the author in the <samp>manifest.json</samp> or mod page, so they should only be used as a last resort. |
| | | |
| {| class="wikitable" | | {| class="wikitable" |
Line 307: |
Line 265: |
| ! purpose | | ! purpose |
| |- | | |- |
− | | <code>beta summary</code> | + | | <code>change update keys</code> |
− | | Specify custom notes or instructions about the mod's compatibility. Should usually be blank. | + | | Overrides the [[Modding:Modder Guide/APIs/Update checks|update keys]] from the <samp>manifest.json</samp> 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>beta broke in</code> | + | | <code>map remote version</code> |
− | | The SMAPI or Stardew Valley update which broke this mod (if applicable). | + | | 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. |
− | |-
| + | |
− | | <code>beta status</code>
| + | '''This is a specialised field; it's better to correct the mod page if possible.''' |
− | | Whether the mod is compatible with the latest versions of Stardew Valley and SMAPI (see [[#Valid statuses]]). If not specified, it defaults to <code>unofficial</code> if an unofficial URL is given, else <code>broken</code> if <code>broke in</code> is specified, else <code>ok</code>.
| + | |
| + | 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>beta unofficial url</code> | + | | <code>map local version</code> |
− | | A page URL where the player can download an unofficial update, if any. | + | | Equivalent to <code>map remote version</code>, but for the manifest version. |
− | |-
| |
− | | <code>beta unofficial version</code>
| |
− | | The unofficial update's version number, if any.
| |
| |} | | |} |
| | | |
Line 336: |
Line 298: |
| |- | | |- |
| | <code>unofficial</code> | | | <code>unofficial</code> |
− | | The mod is compatible using an unofficial update. There's no need to specify this; if you also set <tt>unofficial url</tt> and <tt>unofficial version</tt>, you can remove the status field. | + | | The mod is compatible using an unofficial update. There's no need to specify this; if you also set <samp>unofficial url</samp> and <samp>unofficial version</samp>, you can remove the status field. |
| |- | | |- |
| | <code>workaround</code> | | | <code>workaround</code> |
− | | The mod isn't compatible, but the player can fix it or there's a good alternative. A summary should be provided manually. If you also set <tt>unofficial url</tt> and <tt>unofficial version</tt>, you can remove the status field. | + | | The mod isn't compatible, but the player can fix it or there's a good alternative. A summary should be provided manually. If you also set <samp>unofficial url</samp> and <samp>unofficial version</samp>, you can remove the status field. |
| |- | | |- |
| | <code>broken</code> | | | <code>broken</code> |
Line 349: |
Line 311: |
| | <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. |
| |} | | |} |
| | | |