Skip to content

Commit 0631ce5

Browse files
authored
Update CONTRIBUTING.md
1 parent d6e5ea0 commit 0631ce5

File tree

1 file changed

+67
-123
lines changed

1 file changed

+67
-123
lines changed

CONTRIBUTING.md

Lines changed: 67 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -1,127 +1,71 @@
1-
![RusherHack Logo](./Assets/RusherHacks/rh_head.png)
1+
![RusherHack Logo](https://avatars.githubusercontent.com/u/121969799?s=280&v=4)
22

33
# Contributing to the RusherHacks Plugin Collection
44

5-
Thank you for your interest in contributing to the **RusherHacks Plugin Collection**!
6-
Your contributions help improve and expand the collection, making it more useful for everyone.
7-
Whether you're submitting a new plugin, fixing typos, or enhancing existing entries, your support is greatly appreciated.
8-
9-
> [!NOTE]
10-
> Please follow the style and formatting guidelines described below to ensure consistency across all submissions.
11-
12-
## How to Contribute
13-
14-
1. **Fork the repository**
15-
Click the **Fork** button at the top right of this page to create a copy of this repository on your own GitHub account.
16-
![Fork Button](./Assets/Contributing/Fork.png)
17-
18-
2. **Clone the repository**
19-
Clone your forked repository to your local development machine using Git.
20-
![Clone Button](./Assets/Contributing/Clone.jpg)
21-
22-
3. **Create a new branch**
23-
Always create a new branch for your changes before committing.
24-
![Create Branch](./Assets/Contributing/NewBranch.png)
25-
26-
4. **Add your plugin or theme**
27-
Open the `data/plugins-and-themes.yml` file and add your plugin or theme in the appropriate section:
28-
- Add plugin entries under the `plugins:` section.
29-
- Add theme entries under the `themes:` section.
30-
31-
Follow the format used in existing entries. Each entry must include:
32-
- `name`
33-
- `repo`
34-
- `description`
35-
- `creator`:
36-
- `name`
37-
- `url`
38-
- `avatar`
39-
- `latest_release_tag`
40-
- `screenshots` (can be an empty list)
41-
- `jar_url`
42-
- For plugins:
43-
- `mc_versions`
44-
- `is_core` (true or false)
45-
46-
5. **Push and create a pull request**
47-
Push your branch and open a pull request targeting the `main` branch.
48-
49-
6. **Check GitHub Actions**
50-
Your pull request will automatically run a validation check.
51-
If it fails, visit the **Actions** tab to view the error details and fix any issues.
52-
53-
> [!TIP]
54-
> If everything is correct, the markdown files (`PLUGINS.md`, `THEMES.md`, and `README.md`) will be automatically updated on merge.
55-
56-
> [!NOTE]
57-
> You no longer need to manually validate YAML — it's automatically handled by `validate-yml.py` and checked via GitHub Actions.
58-
59-
### Example Plugin Format (with screenshots):
60-
```yaml
61-
- name: RusherHack-HudElement
62-
repo: Aspect-404/RusherHack-HudElement
63-
description: Create a customizable HUD element for Minecraft utility mod RusherHack.
64-
creator:
65-
name: Aspect-404
66-
url: https://github.com/Aspect-404
67-
avatar: https://github.com/Aspect-404.png?size=20
68-
latest_release_tag: Release
69-
screenshots:
70-
- url: ./Assets/RusherHack-CustomHUDElement/HudSettings.png
71-
alt: Hud Setting
72-
width: 250
73-
- url: ./Assets/RusherHack-CustomHUDElement/HudElement.png
74-
alt: Hud Element
75-
width: 550
76-
is_core: false
77-
mc_versions: 1.20.4-1.21
78-
jar_url: https://github.com/Aspect-404/RusherHack-HudElement/releases/download/Release/HudElement.jar
79-
```
80-
81-
### Example Plugin Format (without screenshots):
82-
```yaml
83-
- name: Example Plugin
84-
repo: RusherDevelopment/example-plugin
85-
description: A basic example plugin demonstrating the structure and capabilities of RusherHacks plugins.
86-
creator:
87-
name: RusherDevelopment
88-
url: https://github.com/RusherDevelopment
89-
avatar: https://github.com/RusherDevelopment.png?size=20
90-
latest_release_tag: ''
91-
screenshots: []
92-
is_core: false
93-
mc_versions: N/A
94-
```
95-
96-
### Example Theme Format (with screenshots):
97-
```yaml
98-
- name: rusherNodusTheme
99-
repo: bakjedev/rusherNodusTheme
100-
description: Nodus - Best theme evaAAAA. Code is terrible. Blame xyzbtw!
101-
creator:
102-
name: bakjedev
103-
url: https://github.com/bakjedev
104-
avatar: https://github.com/bakjedev.png?size=20
105-
latest_release_tag: releease2
106-
screenshots:
107-
- url: ./Assets/rusherNodusTheme/NodusGUI.png
108-
alt: Module
109-
width: 750
110-
mc_versions: 1.21
111-
jar_url: https://github.com/bakjedev/rusherNodusTheme/releases/download/releease2/rushergui-1.0.0.jar
112-
```
113-
114-
### Example Theme Format (without screenshots):
5+
Thanks for helping improve the registry!
6+
**TL;DR: You only need to edit one file:** `data/plugins-and-themes.yml`.
7+
All pages, JSON, badges, and API files are generated automatically by our scripts and GitHub Actions.
8+
9+
---
10+
11+
## How it works
12+
13+
- **Source of truth:** `data/plugins-and-themes.yml`
14+
- **Auto-generated outputs (no manual edits):**
15+
- `PLUGINS.md`, `THEMES.md`
16+
- `README` badges / counts
17+
- JSON under `generated/json/`
18+
- Static API under `api/v1/` (GitHub Pages)
19+
20+
When your PR is opened, **GitHub Actions validates the YAML** and **generates everything**.
21+
If something is wrong, the job will fail with a helpful error message.
22+
23+
---
24+
25+
## What you need to do
26+
27+
1. **Edit `data/plugins-and-themes.yml`**
28+
- Add a new entry **or** update an existing one.
29+
- Keep the existing structure and indentation.
30+
2. **Open a Pull Request**
31+
- Use the PR template and check the box confirming you only changed the YAML.
32+
33+
> That’s it—no other files should be changed in your PR.
34+
35+
---
36+
37+
## Required fields (per entry)
38+
39+
- `name`: Display name
40+
- `repo`: GitHub repo (`owner/repo` format preferred)
41+
- `description`: One-line summary
42+
- `creator`: Object with `name`, `url`, `avatar`
43+
- `latest_release_tag`: Tag of the most recent release
44+
- `screenshots`: List of screenshots (each with `url`, `alt`, optional `width`)
45+
- `is_core`: Boolean (`true` if a core plugin)
46+
- `mc_versions`: Supported Minecraft versions (range or list)
47+
- `jar_url`: Direct download link to the release jar
48+
49+
---
50+
51+
## Example entry
52+
11553
```yaml
116-
- name: Nhack Theme
117-
repo: h1tm4nqq/Nhack-theme
118-
description: A theme like Nhack 2015 for RH.
119-
creator:
120-
name: h1tm4nqq
121-
url: https://github.com/h1tm4nqq
122-
avatar: https://github.com/h1tm4nqq.png?size=20
123-
latest_release_tag: 1.21.4
124-
screenshots: []
125-
mc_versions: 1.20.1-1.21.4
126-
jar_url: https://github.com/h1tm4nqq/Nhack-theme/releases/download/1.21.4/nhack-theme-1.0.0.jar
127-
```
54+
- name: 2b2t.vc Rusherhack
55+
repo: rfresh2/2b2t.vc-rusherhack
56+
description: 2b2t data and statistics API commands and HUD.
57+
creator:
58+
name: rfresh2
59+
url: https://github.com/rfresh2
60+
avatar: https://github.com/rfresh2.png?size=20
61+
latest_release_tag: '1.12'
62+
screenshots:
63+
- url: ./Assets/2b2t.vc Rusherhack/HudSettings.png
64+
alt: Hud Setting
65+
width: 250
66+
- url: ./Assets/2b2t.vc Rusherhack/HudDisplay.png
67+
alt: Hud Display w/2b2t Queue
68+
width: 550
69+
is_core: false
70+
mc_versions: 1.20.1-1.21.4
71+
jar_url: https://github.com/rfresh2/2b2t.vc-rusherhack/releases/download/1.12/2b2t.vc-rusherhack-1.12.jar

0 commit comments

Comments
 (0)