-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Brennan Hatton edited this page Jun 10, 2026
·
1 revision
Contributions and bug reports are welcome. This page covers the mechanics; see Building from Source for the dev-environment setup.
- Search the issue tracker for an existing report or request before opening a new one.
- For anything beyond a trivial fix, open an issue first so the approach can be agreed before code is written.
- Work on a branch — never commit directly to
main. - Branch names:
dev/<short-feature-slug>(kebab-case). - Commit messages follow Conventional Commits:
feat:,fix:,docs:,chore:,refactor:,test:,perf:,ci:. - Open a Pull Request against
mainwith a conventional-commit-style title. PRs are squash-merged to keep history clean. - Bump
mod_versioningradle.propertiesper SemVer — PATCH during development, MINOR when a feature merges.
-
./gradlew buildpasses for all three loaders. -
./gradlew :common:testpasses (add tests for new distribution logic). - Anything touching the loot mixin, the
StatsModifierAPI, the attribute-modifier logic, or the distribution parameters is verified on Fabric and NeoForge dev clients, plus a Forge production-jar smoke test (ForgerunClientis blocked by an upstream issue — see Building from Source). - Keep the public API surface limited to the
games.brennan.adventureitemstats.apipackage;internal.*andmixin.*are not API.
Releases are automated and dispatch-only. The
release.yml
workflow is the single source of git tags — never run git tag by hand.
The flow, in brief:
- Make sure
mod_versiononmainis the version you want to ship. - Dispatch the workflow with a matching tag:
gh workflow run release.yml -f tag=v<version>
- The workflow verifies the tag matches
mod_version, builds all three loader jars, creates the GitHub Release (pre-1.0 → marked beta/pre-release), and publishes to Modrinth and CurseForge (skipping a platform if its token/ID isn't configured).
Platform setup (Modrinth/CurseForge project creation, tokens, and variables) is
documented in the in-repo
docs/PUBLISHING.md.
By contributing you agree your contributions are licensed under the project's PolyForm Shield 1.0.0 license.
Adventure Item Stats — Gaussian variation on naturally-spawned item stats for Minecraft 1.21.1 · Fabric / Forge / NeoForge Source-available under PolyForm Shield 1.0.0 · © Brennan Hatton · Concept from Dungeon Train
Players
Developers