-
-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
The canonical version of this page is CONTRIBUTING.md in the repository. This is a summary for people arriving via the wiki.
By contributing you agree that your work is licensed under the MIT License.
| 💬 Questions and setup help | Discord — not the issue tracker |
| 🐛 Bugs and feature requests | GitHub Issues |
| 🔒 Security issues | Discord, privately — never a public issue |
Blank issues are disabled; pick the template that matches (bug report, feature request, or documentation). Before opening one:
- Search existing issues, including closed ones.
- Reproduce on the latest build — the
nightly pre-release is rebuilt
on every push to
main. - Test with only UltimateVirtualSpawner installed (plus Vault / PlaceholderAPI if the bug involves them), so another plugin is not the actual cause.
A useful bug report includes:
- exact server software and version (
/version) - plugin version (
/spawner version) - Java version
- the full stack trace from
logs/latest.log— text, not a screenshot of chat - the relevant section of any config you changed
Security issues — do not open a public issue for anything exploitable (dupe bugs, permission bypasses, economy exploits). Report them privately on Discord.
See Building from Source for the full walkthrough: requirements, build commands, project layout and code style.
Work on a branch off main, one logical change per PR.
PR titles must follow Conventional Commits — the
pr-title-check CI job fails otherwise. Allowed types:
feat, fix, chore, docs, style, refactor, perf, test, ci, build
feat: add per-world spawner limits
fix: prevent XP duplication when claiming during a sell
docs: document the AUTO economy provider
Scopes are optional. The description must be at least 10 characters — an empty PR body fails CI.
Fill in the template, or pick a specific one from .github/PULL_REQUEST_TEMPLATE/ by appending
?template=bug_fix.md, feature.md or maintenance.md to the PR URL.
Before requesting review:
-
mvn clean testpasses -
mvn packagesucceeds - Tested on a live Paper server — and Folia, if the change touches scheduling or world access
- Added tests for anything with logic worth pinning down
- Updated the relevant
.ymldefaults andREADME.mdif the change is user-visible - No unrelated reformatting in the diff
CI must be green — title check, description check, build and test on JDK 21, and dependency
review — before a PR can be merged. CI runs on changes to src/**, pom.xml and
.github/workflows/**.
Everything player-facing lives in messages.yml (plus menus.yml for GUI text). Translations are
welcome as a PR adding a language file — keep every key from the English default present so
nothing falls back to a blank string.
Spotted something wrong or missing here? Open a documentation issue describing the page and what needs changing.
- Building from Source — build, layout, style, tests
- Home
Repository · Releases · Issues · Discord · MIT License
Getting started
Reference
Configuration
Features
Operations
Development