-
Notifications
You must be signed in to change notification settings - Fork 0
Building and Contributing
Workbay builds with Gradle against NeoForge. You need Java 21 and NeoForge 21.1.249 or newer for Minecraft 1.21.1.
./gradlew build # build the mod jar
./gradlew runClient # launch a dev client
./gradlew check # compile every source set, main, datagen and gametest
./gradlew runGameTestServer # the 189 gametests
./gradlew runBenchmark # the performance scenarios (minutes)
build plus runGameTestServer is the gate. check is wired to compile the datagen and gametest source sets as well, so a compile error there cannot pass the build and surface only when somebody runs the tests.
runClient takes a few useful flags:
| Flag | Effect |
|---|---|
-Pworkbay.world=<save> |
Load a specific save. |
-Pworkbay.noJei |
Run without JEI, to check the fallbacks. |
-Pworkbay.user=<name> |
Set the dev session username - handy for testing locking with two accounts. |
./gradlew build runGameTestServer
A change that touches block behaviour, networking (Connectors and FLOW) or Rooms should come with a gametest that covers it. The suite exists so that regressions in hosting and transfer are caught before a release, not after.
The performance scenarios in PerfBench are gated behind runBenchmark and pass trivially without it, so a number quoted from an ordinary gametest run is not a measurement.
Changes from outside the project arrive through a pull request.
- Fork the repository.
- Branch off
masterwith a name that says what the change does -fix/connector-filter-crash,feature/room-preview. - Keep the change focused; unrelated cleanup belongs in its own pull request.
- Open the pull request against
masterand fill in the template.
The full guide is in CONTRIBUTING.md.
The wiki is written in docs/wiki/, one markdown file per page, and a change to it is a change to the repository like any other - see the same guide. The pages are copied to the wiki afterwards.
Bugs and ideas are just as useful as patches:
- Report a bug - include the steps that reproduce it, and a screenshot or a clip if you can.
- Request a feature - describe the problem before the solution.
- Security issues go through a private advisory, never a public issue. See SECURITY.md.
MIT. Some patterns follow EnderIO, which is public domain under the Unlicense. Modpacks are welcome without asking.
Workbay · Minecraft 1.21.1 · NeoForge 21.1.249+ · Java 21 · MIT licensed. Report a bug or request a feature.