Modding:SMAPI Kompatibilität/barchart

Aus Stardew Valley Wiki
< Modding:SMAPI Kompatibilität
Version vom 25. November 2021, 01:23 Uhr von Margotbean (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
 
0% are compatible or have a working alternative.
 
0% have an update coming soon.
 
0% are broken and not open-source.¹

¹ Many of these broke due to a Stardew Valley update. Some may be updated by their authors later.

Robin building.png
Ich habe noch eine Menge Arbeit vor mir
— Robin

Unvollständige Übersetzung

Dieser Artikel oder Abschnitt wurde noch nicht vollständig ins Deutsche übersetzt. Du bist herzlich eingeladen, uns dabei durch die Bearbeitung dieses Textes zu unterstützen!
Zuletzt bearbeitet von Margotbean am 25. Nov. 2021 um 01:23:13.

Usage

List the counts for each group:

{{/barchart
  |ok         = 135
  |workaround = 33
  |soon       = 56
  |broken     = 33
  |total      = 257
}}

Script

This script generates the template call when run from the parent page.

(function() {
  // group mods by status
  let counts = { ok: 0, workaround: 0, soon: 0, broken: 0, total: 0 };
  let invalidMods = [];
  $("#mod-list .mod").each(function(i, entry) {
    entry = $(entry);
    let status = entry.attr("data-beta-status") || entry.attr("data-status");
    let hasSource = entry.is("[data-github], [data-custom-source]");
    
    switch(status) {
      // ignore obsolete mods
      case "abandoned":
      case "obsolete":
        break;

      // compatible
      case "ok":
      case "optional":
        counts.ok++;
        counts.total++;
        break;

      // workaround
      case "workaround":
      case "unofficial":
        counts.workaround++;
        counts.total++;
        break;

      // soon/broken
      case "broken":
        if (hasSource)
          counts.soon++;
        else
          counts.broken++;
        counts.total++;
        break;

      default:
        invalidMods.push(mods);
        break;
    }
  });

  // show results
  if (invalidMods.length) {
    console.log("found entries with unknown status:", invalidMods);
    throw 'script failed';
  }

  console.log(`
    {{/barchart
      |ok         = ${counts.ok}
      |workaround = ${counts.workaround}
      |soon       = ${counts.soon}
      |broken     = ${counts.broken}
      |total      = ${counts.total}
    }}
  `.replace(/^    /mg, ''));
})();