A plugin for collaborative speedruns with toggleable mechanics.
- Prep GUI for challenge setup before each run
- Presets plus per-mechanic toggles
- Shared and individual gameplay modifiers (health, inventory, hardcore, and more)
- Run records storage via SQLite
- World reset workflow between runs
- Every online player receives the DeepCore prep book.
- Right-click the book to open the prep GUI.
- Configure preset and mechanic toggles.
- Each player marks themselves ready.
- When everyone is ready, countdown starts and settings lock.
- Run begins in the generated challenge world.
- keep_inventory
- unlimited_deaths
- hardcore
- health_refill
- shared_inventory
- shared_health
- initial_half_heart
- degrading_inventory
- /challenge status
- /challenge list
- /challenge enable
- /challenge disable
- /challenge mode
- /challenge component list
- /challenge component status
- /challenge component reset
- /challenge component <on|off|toggle>
Prerequisites:
- Java 21
- Python 3 (for pre-commit)
Build and test:
./gradlew clean build
Output artifact:
- build/libs/DeepCore-.jar
This repository enforces quality checks when you attempt a commit.
Checks on commit attempt:
- Formatting (Spotless)
- Typecheck/compile (main + test sources)
- Lint (Checkstyle)
- Commit message convention (Angular-style conventional commits)
Enable hooks once per clone:
pip install pre-commit
pre-commit install
pre-commit install --hook-type commit-msg
Run hooks manually:
pre-commit run --all-files
Conventional commit examples:
- feat: add end portal platform targeting
- fix: handle countdown cancellation when all players leave
- chore: update ci workflow gates
PRs to main:
- Runs tests
- Enforces total line coverage >= 80%
- Enforces changed-lines coverage >= 70%
Pushes to main:
- Runs full quality suite (format check, typecheck, lint, tests, coverage verification)