A free, static JSON API generated from the canonical JSON in this repo:
It is deployed via GitHub Pages at:
https://rusherdevelopment.github.io/rusherhack-plugins/api/v1/
Note
Endpoints are static. They update only when the repo data or scheduled workflow updates.
The committed website source lives in:
public_html/
During the GitHub Pages workflow, public_html/ is copied into a temporary deploy artifact folder:
public/
The static API is generated during deploy into:
public/api/v1/
That temporary public/ folder is then uploaded to GitHub Pages. The API should not be committed under public_html/api/ or public/api/.
The API remains additive.
Existing endpoints stay the same, and existing fields are preserved when possible.
Plugin-related endpoints may include extra metadata fields such as:
featuresfeature_countshas_featuresversions_canonicalownerrepo_namerepo_urlcreator_slug
-
index.json
Full dataset containing plugins and themes. -
plugins.json
Plugins only. Plugin entries may include module / HUD metadata. -
themes.json
Themes only.
Plugin objects may include the following fields when extracted feature metadata is available.
A list of extracted plugin features, such as modules and HUD elements.
Example:
[
{
"name": "QueueManager",
"class_name": "QueueManagerModule",
"feature_type": "module",
"description": "2b2t Queue status through discord bot",
"settings": []
}
]A compact summary of extracted feature counts.
Example:
{
"total": 3,
"modules": 2,
"hud_elements": 1
}Boolean indicating whether extracted module or HUD metadata exists.
Example:
trueNote
These fields apply to plugins. Themes do not include module / HUD feature metadata.
-
stats.json
Aggregate counts by type, Minecraft version, and creator. Also includes feature-related plugin stats. -
versions.json
List of Minecraft versions currently present in the API output. -
creators.json
List of creators with plugin/theme counts. -
meta.json
Metadata about source files, source hash, counts, and canonical versions. -
manifest.json
SHA256 hash and file size for all generated API files. -
search-index.json
Compact search index for client-side search UIs. Includes feature-related search hints for plugins.
Registry entries use mc_versions as a comma-separated string.
Examples:
mc_versions: "1.21.4"
mc_versions: "1.20.1, 1.20.2, 1.21, 1.21.1, 1.21.4"
mc_versions: "N/A"The API may also expose a normalized helper field:
"versions_canonical": ["1.20.1", "1.20.2", "1.21", "1.21.1", "1.21.4"]Dash ranges such as 1.20.1-1.21.4 should not be used in new registry entries.
These files rely on the YAML fields added_at and updated_at:
-
new.json
Recently added items, sorted by newestadded_at. -
recent.json
Recently updated items, sorted by newestupdated_at, falling back toadded_at.
There is no /items/ directory index endpoint. Use index.json or search-index.json to discover items, then fetch individual item docs.
Per-item docs use this path format:
/items/{owner}/{repo}.json
Example:
Per-item docs preserve the original item shape and may also include normalized helper fields:
versions_canonicalownerrepo_namerepo_urlcreator_slug
Plugin item docs may also include feature metadata:
featuresfeature_countshas_features
/by-version/{mc_version}.json
Example:
-
/by-creator/{creator}.json
Example:
These filtered views preserve the same item structure as the main API output.
curl -s https://rusherdevelopment.github.io/rusherhack-plugins/api/v1/plugins.json | jq lengthcurl -s https://rusherdevelopment.github.io/rusherhack-plugins/api/v1/by-creator/kybe236.json | jq '.[].name'curl -s https://rusherdevelopment.github.io/rusherhack-plugins/api/v1/stats.json | jq .curl -s https://rusherdevelopment.github.io/rusherhack-plugins/api/v1/versions.json | jq .curl -s https://rusherdevelopment.github.io/rusherhack-plugins/api/v1/plugins.json \
| jq '.[] | select(.repo=="GabiRP/QueueManager") | {name, features, feature_counts, has_features}'curl -s https://rusherdevelopment.github.io/rusherhack-plugins/api/v1/plugins.json \
| jq '.[] | select((.feature_counts.hud_elements // 0) > 0) | {name, repo, feature_counts}'curl -s https://rusherdevelopment.github.io/rusherhack-plugins/api/v1/search-index.json \
| jq '.[] | select((.feature_names // []) | index("Spotify"))'stats.json includes feature-related aggregate counts for plugins:
plugins_with_featuresplugins_without_featurestotal_featurestotal_modulestotal_hud_elements
This makes it easier for clients to show ecosystem-wide module / HUD totals without scanning every plugin doc.
search-index.json remains a compact client-friendly file and may include:
has_featuresfeature_countsfeature_names
This helps search UIs filter plugins by extracted modules / HUD elements without loading the full plugin dataset.
- RusherSearch
Instant search UI consuming the API.
Important:
This is an early v1. API shapes may continue to evolve, but changes aim to remain additive and backward-friendly.
