Files
spigot-trigger-spawn/README.md
T
dmg edab7f03db
Release / release (push) Failing after 11s
CI / build (push) Successful in 57s
feat(access): manage spawn bans
2026-08-08 13:23:29 -04:00

58 lines
1.6 KiB
Markdown

# Trigger Spawn
A Spigot 26.2 plugin providing progression-gated, safe teleportation to each world's spawn area.
The behavior under development is specified in the [OKF design bundle](design/index.md).
## Requirements
- Spigot 26.2
- Java 17 or newer
## Build
```bash
./gradlew clean check jar
```
The plugin JAR is written to `build/libs/`.
On first startup, the plugin creates `plugins/TriggerSpawn/config.yml`. Its cooldown defaults are:
```yaml
cooldowns:
one-kill-seconds: 28800
two-kill-seconds: 14400
three-kill-seconds: 3600
```
Durable player and per-world state is stored in `plugins/TriggerSpawn/state.yml`.
Each world initially uses its native spawn and a 20-block circular radius. An operator can configure the current world with:
```text
/spawnadmin set
/spawnadmin distance <blocks>
/spawnadmin info
/spawnadmin grant <player> <duration>
/spawnadmin remove <player>
/spawnadmin access [page]
/spawnadmin ban <player>
/spawnadmin unban <player>
/spawnadmin bans [page]
```
Grant durations support friendly units and combinations such as `30m`, `2h`, `1d`, or `1h30m`.
For a local versioned build:
```bash
./gradlew clean check jar -PreleaseVersion=1.2.3
```
## Releases
Gitea Actions checks every push and pull request and stores a development JAR as a workflow artifact. Pull requests also validate conventional commits.
Pushes to `main` run semantic-release. A release-causing conventional commit builds a versioned JAR and attaches it to the corresponding public Gitea release. The repository must define a `RELEASE_TOKEN` secret with repository contents write permission.