Difference between revisions of "Modding:Mod compatibility/barchart"

From Stardew Valley Wiki
Jump to navigation Jump to search
m (Pathoschild moved page Modding:Updating mods for SMAPI 2.0/barchart to Modding:SMAPI compatibility/barchart without leaving a redirect: more generic title for longer-term use)
(update for 'broken' and 'soon' statuses merged)
Line 30: Line 30:
 
var ok = entries.filter("[data-status='ok']").length;
 
var ok = entries.filter("[data-status='ok']").length;
 
var workaround = entries.filter("[data-status='workaround'], [data-status='obsolete']").length;
 
var workaround = entries.filter("[data-status='workaround'], [data-status='obsolete']").length;
var soon = entries.filter("[data-status='soon'], [data-status='soon-official']").length;
+
var soon = entries.filter("[data-status='broken'][data-has-source], [data-status='soon-official']").length;
var broken = entries.filter("[data-status='broken']").length;
+
var broken = entries.filter("[data-status='broken']:not([data-has-source])").length;
 
var total = ok + workaround + soon + broken;
 
var total = ok + workaround + soon + broken;
  

Revision as of 03:57, 19 April 2018

 
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 in Stardew Valley 1.1 or 1.2. Some may be updated by their authors.

Usage

List the counts for each group:

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

Script

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

var entries = $("#mod-list tr[data-status]");
var ok = entries.filter("[data-status='ok']").length;
var workaround = entries.filter("[data-status='workaround'], [data-status='obsolete']").length;
var soon = entries.filter("[data-status='broken'][data-has-source], [data-status='soon-official']").length;
var broken = entries.filter("[data-status='broken']:not([data-has-source])").length;
var total = ok + workaround + soon + broken;

if (total != entries.length)
   throw 'found entries with unknown status.';

`
{{/barchart
  |ok         = ${ok}
  |workaround = ${workaround}
  |soon       = ${soon}
  |broken     = ${broken}
  |total      = ${total}
}}
`