59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
# Spigot Base
|
|
|
|
A Spigot 26.2 plugin providing progression-gated player bases and quality-of-life unlocks.
|
|
|
|
Players begin by breaking Survival-mode grass blocks or dirt. The progression paths provide a persistent base, navigation particles, expanding base bounds, controlled flight, personal teleportation, and visitor teleportation.
|
|
|
|
The approved behavior 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/`.
|
|
|
|
## Player commands
|
|
|
|
```text
|
|
/setbase (alias: /sethome)
|
|
/base (alias: /home)
|
|
/gotobase <player> (alias: /visit <player>)
|
|
/basesettings (alias: /homesettings)
|
|
/basesettings status
|
|
/basesettings upgrade
|
|
/basesettings visitors <allowed|blocked>
|
|
/basesettings navigation <enable|disable>
|
|
/basesettings flight <enable|disable>
|
|
/basesettings border <enable|disable>
|
|
/basesettings bossbar <enable|disable>
|
|
```
|
|
|
|
`/base` has a stationary warm-up. Looking around is allowed, while movement between blocks, damage, teleportation, world changes, death, logout, and conflicting teleport commands cancel it without consuming the cooldown.
|
|
|
|
## Administration
|
|
|
|
The `spigotbase.admin` permission is granted to server operators by default. `/homeadmin` aliases `/baseadmin`.
|
|
|
|
```text
|
|
/baseadmin status <player>
|
|
/baseadmin setlevel <player> <base|size|flight|warmup|cooldown> <level>
|
|
/baseadmin setprogress <player> <grass_dirt|stone|deepslate|obsidian|placements|base_breaks> <amount>
|
|
/baseadmin config <numeric-key> <value>
|
|
/baseadmin clearcooldown <player> [personal|visitor|all]
|
|
/baseadmin reset <player> <size|flight|warmup|cooldown>
|
|
/baseadmin reset <player> all confirm
|
|
```
|
|
|
|
Default thresholds and durations are documented in `src/main/resources/config.yml`. Durable UUID-keyed state is stored in `plugins/SpigotBase/state.yml` using atomic replacement where supported.
|
|
|
|
## Releases
|
|
|
|
Gitea Actions checks pushes and pull requests and stores a development JAR. Pull requests validate conventional commits. Main-branch conventional commits drive semantic releases when the repository defines a `RELEASE_TOKEN` with contents-write permission.
|