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.

Requirements

  • Spigot 26.2
  • Java 17 or newer

Build

./gradlew clean check jar

The plugin JAR is written to build/libs/.

Player commands

/setbase (alias: /sethome)
/base (alias: /home)
/gotobase <player> (alias: /visit <player>)
/basesettings (alias: /homesettings)
/basesettings status
/basesettings upgrade
/basesettings pocket upgrade
/basesettings pocket mobs <enable|disable>
/basesettings visitors <allowed|blocked>
/basesettings navigation <enable|disable>
/basesettings flight <enable|disable>
/basesettings border <enable|disable>
/basesettings spawnable <enable|disable>
/basesettings bossbar <enable|disable>

Navigation particles appear only in the base's world and when the player is more than 25 blocks beyond the current base border.

After 250 Survival-mode block placements anywhere by default, the spawnable overlay can mark nearby dark hostile-mob spawning surfaces inside the player's base with owner-only red particles. The threshold is configurable.

/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.

Base IV owners can purchase and expand a persistent Pocket Base with /basesettings pocket upgrade. Activating a complete diamond-block portal frame inside the normal base with flint and steel opens one public entrance to the owner's grass platform in a private void world. Natural hostile and passive mob spawning is disabled by default and can be controlled by the owner with /basesettings pocket mobs <enable|disable>.

Administration

The spigotbase.admin permission is granted to server operators by default. /homeadmin aliases /baseadmin.

/baseadmin status <player>
/baseadmin setlevel <player> <base|size|flight|warmup|cooldown> <level>
/baseadmin setprogress <player> <grass_dirt|stone|deepslate|obsidian|placements|total_placements|base_breaks> <amount>
/baseadmin setsetting <player> spawnable <enable|disable>
/baseadmin config <numeric-key> <value>
# e.g. /baseadmin config spawnable-overlay-unlock-placements 250
/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.

S
Description
Progression-gated player bases and quality-of-life unlocks for Spigot 26.2
Readme
539 KiB
v1.16.1
Latest
2026-09-07 02:14:18 +00:00
Languages
Java 100%