Files
spigot-creeper-fear/README.md
T
dmg 85356c5c8e
Release / release (push) Successful in 2m26s
CI / build (push) Successful in 1m12s
feat(progression): lower default rank I threshold
2026-08-11 15:15:39 -04:00

3.9 KiB
Raw Blame History

Spigot Creeper Fear

A Spigot 26.2 plugin that lets players earn six Creeper Aura ranks. Once unlocked, an aura prevents a creeper explosion within 25 blocks of the player from breaking blocks, whether or not the explosion hits the player. Players hit by the explosion receive rank-dependent damage.

Requirements

  • Spigot 26.2
  • Java 17 or newer

Progression

Players earn one current-tier point when they kill a creeper directly, through a projectile, or through an owned tameable. A self-destructing creeper also awards one point to every player its explosion hits. Rank I unlocks at 25 points by default; subsequent ranks require 100 points each. Progress resets to zero when a rank is unlocked.

Rank Creeper damage Block damage
Locked 1× Normal
I 3× Prevented
II 2× Prevented
III 1.5× Prevented
IV 1× Prevented
V 0.5× Prevented
VI Cancelled Prevented

Progress is stored by player UUID in plugins/CreeperFear/player-progress.sqlite3. Database work runs away from the server thread.

After each point, a temporary boss bar shows current-tier progress. Unlocking a rank displays a full-screen title. Rank VI players no longer receive a progress bar.

Build and install

./gradlew clean check jar
cp build/libs/spigot-creeper-fear-0.1.0-SNAPSHOT.jar /path/to/server/plugins/

Restart the server after copying the JAR. The plugin creates its configuration and SQLite database under plugins/CreeperFear/.

Commands

Command Description Permission
/creeperaura progress Show personal progress creeperfear.progress
/creeperaura progress <player> Inspect a known online or offline player creeperfear.admin.inspect
/creeperaura set <player> <progress> Set current-tier progress creeperfear.admin.modify
/creeperaura add <player> <amount> Adjust current-tier progress creeperfear.admin.modify
/creeperaura rank <player> <rank> Set rank and reset tier progress creeperfear.admin.modify
/creeperaura threshold <rank> <points> Persist a rank requirement creeperfear.admin.configure
/creeperaura reload Reload validated configuration creeperfear.admin.configure

The personal progress permission defaults to everyone. Administrative permissions default to server operators. Administrative changes are recorded in the server log.

Commands provide permission-aware tab completion for subcommands, online player names, and valid ranks. Known offline players remain valid command targets but are not suggested.

Configuration

progression:
  requirements:
    I: 25
    II: 100
    III: 100
    IV: 100
    V: 100
    VI: 100

aura:
  damage-multipliers:
    I: 3.0
    II: 2.0
    III: 1.5
    IV: 1.0
    V: 0.5
    VI: 0.0

feedback:
  progress-bar-seconds: 5
  rank-up-title: "Creeper Aura %rank%"
  rank-up-subtitle: "Unlocked!"

Requirements must be positive integers. Multipliers must be finite and non-negative. Invalid reloads are rejected while the last valid runtime settings remain active. Requirement changes preserve current rank and tier progress; a subsequent qualifying point can unlock at most one rank.

Releases

Gitea Actions builds and tests every push and pull request and uploads a development JAR. Pull requests also validate conventional commit messages.

Pushes to main run semantic-release:

  • fix: creates a patch release;
  • feat: creates a minor release;
  • a breaking-change footer or ! creates a major release.

A successful release attaches a versioned JAR to the corresponding Gitea release. The repository must define a RELEASE_TOKEN secret with repository contents write permission.

For a local versioned artifact:

./gradlew clean check jar -PreleaseVersion=1.2.3

Design

The OKF design bundle contains the architecture and completed user stories.