Document MobScores setup and development
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# Contributing
|
||||
|
||||
## Requirements
|
||||
|
||||
- Java 25. The Gradle toolchain can download it automatically; `tools/build-plugin.sh` also provisions Temurin 25 under the project Gradle user home.
|
||||
- A recent Paper server for runtime testing.
|
||||
- The ScoreKeeper plugin, which is a required runtime dependency.
|
||||
|
||||
## Build and Test
|
||||
|
||||
From the project root:
|
||||
|
||||
```sh
|
||||
./gradlew test
|
||||
./gradlew build
|
||||
```
|
||||
|
||||
The distributable plugin JAR is written to `build/libs/`. To use the repository helper, run:
|
||||
|
||||
```sh
|
||||
tools/build-plugin.sh
|
||||
```
|
||||
|
||||
## Local Paper Testing
|
||||
|
||||
Set `PAPER_VERSION` and `MINECRAFT_SERVER_PATH` in a local `.env` file at the MobScores project root, or export them in your shell. Set `MINECRAFT_ENV_FILE` if the helper scripts should load a shared environment file instead. Build ScoreKeeper and install it into the server first, then build and deploy MobScores:
|
||||
|
||||
```sh
|
||||
tools/build-plugin.sh
|
||||
tools/deploy-plugin.sh
|
||||
```
|
||||
|
||||
Start the server with `tools/start-server.sh`. The script downloads a stable Paper build when one is not already present. Review the server log for dependency and plugin-load errors, then test score-table configuration and mob-kill scoring in game. Back up the server before testing against a world with data you care about.
|
||||
|
||||
## Configuration
|
||||
|
||||
The default resource is `src/main/resources/config.yml`; Paper copies it to `plugins/MobScores/config.yml` on first startup. `ScoreTable` maps Bukkit `EntityType` names to integer point values. To change values on a test server, edit the generated config and restart the server.
|
||||
|
||||
## Helper Scripts
|
||||
|
||||
- `tools/build-plugin.sh` builds with Java 25.
|
||||
- `tools/deploy-plugin.sh` copies the latest non-`-all` JAR into `$MINECRAFT_SERVER_PATH/plugins/`.
|
||||
- `tools/start-server.sh` downloads/resolves and launches Paper using `.env` settings.
|
||||
- `tools/backup-server.sh` and `tools/restore-server.sh` manage server backups.
|
||||
- `tools/publish-local.sh` publishes the artifact to Maven Local for dependent plugin builds.
|
||||
|
||||
Reference in New Issue
Block a user