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.