Files
spigot-creeper-fear/README.md
T
dmg 1d580220c3
Release / release (push) Successful in 4m23s
CI / build (push) Successful in 1m14s
ci: add plugin build and release pipeline
2026-08-08 14:32:17 -04:00

3.6 KiB
Raw Permalink Blame History

Spigot Creeper Fear

A Spigot 26.2 plugin that lets players earn six Creeper Aura ranks. Once unlocked, an aura prevents creeper explosions that hit the player from breaking blocks, trading that protection for rank-dependent player 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. Each tier defaults to 100 points and resets progress to zero when 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.

Configuration

progression:
  requirements:
    I: 100
    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.