Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Tasks only start earning activity credit once revealed, giving players a reason

- **Personal daily task menus** — a fresh selection of activities, with progress displays and descriptions for revealed tasks.
- **Weekly reward milestones** — activity points unlock claimable rewards from weighted reward pools.
- **Week-locked rewards** — each week pays from the reward pools it started with; reward edits apply at the next weekly reset, or right away with `/activity rewards apply`.
- **Daily reveal rewards** — players can claim a separate reward after revealing all of their daily tasks.
- **Week-locked rewards** — each week keeps its reward selection until the next reset, unless staff explicitly apply an update.
- **Daily reveal rewards** — eligible players automatically receive a separate reward when they reveal all of their daily tasks.
- **Activities across the server** — supported integrations track actions such as voting, cooking, archaeology, instrument playing, market sales, and vehicle building.
- **Varied progression limits** — daily caps and a voting share of the daily allowance shape how points are earned.
- **Task rerolls** — eligible players can redraw their daily selection within the server's limits.
Expand All @@ -28,18 +28,20 @@ Technical documentation is maintained in [TF-Minecraft/Docs](https://github.com/

## Tests

With Java 21 and the pinned plugin dependencies installed (see the build workflow), run:
With Java 21 and the [build dependencies](https://github.com/TF-Minecraft/Docs/blob/main/projects/ActivityTF/README.md#build-and-integration) prepared, run:

```sh
mvn -B --no-transfer-progress clean verify
```

JUnit 5 tests cover configuration loading, commands, the GUI, plugin hooks,
listeners and activity progress, using MockBukkit, real file fixtures, and scoped
listeners and activity progress, using MockBukkit, Mockito, real file fixtures, and scoped
server/provider boundaries. Verification requires 100% production line coverage
with no excluded classes, plus the JaCoCo execution data and XML report. CI runs
the same command on every push and pull request to `main` and uploads the Surefire
and coverage reports. The suite does not start a live Paper server.
the same verification on pushes and pull requests to `main`. Surefire reports are
in `target/surefire-reports/`; JaCoCo HTML and XML reports are
`target/site/jacoco/index.html` and `target/site/jacoco/jacoco.xml`. The Build
workflow uploads both report directories. The suite does not start a live Paper server.

The description update tool has its own Python tests, which CI does not run:

Expand Down
Loading